Ankündigung

Einklappen
Keine Ankündigung bisher.

Json generieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Json generieren

    Hi,

    bin ein Neuling auf dem Gebiet und nutze aktuell Edomi zur rudimentären Steuerung und Auswertung. An die Visa habe ich mich aktuell auch schon gemacht.
    Nun habe ich das Problem, dass ich einen Json-String generieren möchte. Dieser aber nicht wie im Baustein 972 mit 1.... getrennt sein soll, sondern mit Befehlen,
    dies benötige ich zur Steuerung der Shelly RGBW2.

    Hintergrund ist mit einem Farblicher die Farbe und die weiteren Werte via MQTT (mit Json) an die Shelly weiter zugeben.

    Kann mir da einer helfen. Bitte.


    #2
    Ohne den String zu sehen wird es schwer zu helfen.
    Grundsätzlich geht das natürlich über einen LBS. String rein und JSON String raus und dazwischen passiert das Wunder in PHP.

    Am besten mal den Inputstring und den Zielstring (JSON) posten.

    Kommentar


      #3
      Hi,

      also eigentlich ganz einfach. Grundlage ist der Baustein Json_Encode 20fach 19000972 den wollte ich so modifizieren, wie unten angehängt.
      An den Eingängen kommen die einzelnen Infos an, geht!
      An den Ausgängen kommen die Infos als Json-String raus. geht auch.
      Jetzt kommt die Modifikation, die Trennung soll nicht als Aufzählung funktionieren, sondern
      mit "Werten" entweder, wie bei mir aktuell, per Hand im Baustein, oder schöner wäre eine Aufteilung
      E1+E2 = "string1":"String2" ....... , Und als Krönung bei "" wird nicht berücksichtigt.
      Dann kann der 20er Baustein bleiben und es wird halt ein 10er String generiert.

      So What! In der Theorie alles super! In der Praxis, wenn du keine Ahnung hast,
      echt schwierig.

      Danke für deine Hilfe

      Bildschirmfoto 2020-02-07 um 15.43.35.png Bildschirmfoto 2020-02-07 um 15.43.47.png

      Kommentar


        #4
        Probiers mal so:

        PHP-Code:

        $data 
        = array();

        if(
        $E[1]['value'] == 1){
        $data['turn'] = "on";
        }
        if(
        $E[1]['value'] == 0){
        $data['turn'] = "off";
        }

        if(
        $E[2]['value'] != ''$data['red'] = $E[2]['value'];
        if(
        $E[3]['value'] != ''$data['green'] = $E[3]['value'];
        if(
        $E[4]['value'] != ''$data['blue'] = $E[4]['value'];
        if(
        $E[5]['value'] != ''$data['white'] = $E[5]['value'];
        if(
        $E[6]['value'] != ''$data['gain'] = $E[6]['value'];
        if(
        $E[7]['value'] != ''$data['effect'] = $E[7]['value'];

        logic_setOutput($id,1,json_encode($data)); 

        Kommentar


          #5
          Hi,

          hab ich versucht, bin wohl zu doof. kommt immer
          Bildschirmfoto 2020-02-07 um 18.49.29.png
          Hab auch rumgespielt, sorry?!?
          Hab mal den ganzen Bereich eingehängt.

          Bildschirmfoto 2020-02-07 um 18.51.41.png

          Ich glaub ich muss mal einen Kurs in php machen ;=)

          Danke nochmals für die Mühen.

          Kommentar


            #6
            Hi MIcha!!!

            Du bist a Schau!!!! Vielen Dank, ich war doch am Anfang zu BLÖD!!
            Dank deines Codes läufts jetzt!!!

            Danke
            Alex



            Kommentar


              #7
              Schön das es läuft, nur bitte in Zukunft den Code nicht als screenshot posten, wer soll das zum debuggen abtippen?

              Kommentar


                #8
                Sorry, Newbie!!!

                Kommentar

                Lädt...
                X