Ankündigung

Einklappen
Keine Ankündigung bisher.

WebAbfrage XML Daten

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

    HS/FS WebAbfrage XML Daten

    Hallo,

    ich versuche einige Daten von einem Hausgerätegateway(Miele) abzufragen. Leider bislang ohne den gewünschten Erfolg.

    Die keys (z.B Gerätestatus) können je Gerät vorkommen, also mehrfach in der XML Ausgabe vorhanden sein, sofern es einen Status gibt.

    Würde mich sehr über einen Tipp freuen, wie soetwas zu lösen ist.

    Danke, Philip

    <?xml version="1.0" encoding="UTF-8" ?>
    - <DEVICES>
    - <device>
    <class>22017</class>

    <UID>-1609548885</UID>

    <type>G1832</type>

    <name>Geschirrspüler</name>

    <state>5</state>

    <additionalName />

    <room id="null" level="null" />

    - <information>
    <key name="Gerätestatus" value="In Betrieb" />

    <key name="Phase" value="Trocknen" />

    <key name="Restzeit" value="0:24h" />

    </information>


    - <actions>
    <action name="Details" URL="http://192.168.66.226:80/homebus/dev...00.-1609548885" />

    </actions>


    </device>


    - <device>
    <class>24070</class>

    <UID>-1609548823</UID>

    <type>H5681BP</type>

    <name>Backofen</name>

    <state>2</state>

    <additionalName />

    <room id="null" level="null" />

    - <information>
    <key name="Gerätestatus" value="Bereit" />

    </information>


    - <actions>
    <action name="Details" URL="http://192.168.66.226:80/homebus/dev...00.-1609548823" />

    </actions>


    </device>


    - <device>
    <class>24073</class>

    <UID>-1609551665</UID>

    <type>KM6351 D</type>

    <name>Kochfeld</name>

    <state>1</state>

    <additionalName />

    <room id="null" level="null" />

    - <information>
    <key name="Gerätestatus" value="Aus" />

    </information>


    - <actions>
    <action name="Details" URL="http://192.168.66.226:80/homebus/dev...54.-1609551665" />

    </actions>


    </device>


    - <device>
    <class>22020</class>

    <UID>-1609548785</UID>

    <type>W3985</type>

    <name>Waschautomat</name>

    <state>1</state>

    <additionalName>Waschmaschine</additionalName>

    <room id="null" level="null" />

    - <information>
    <key name="Gerätestatus" value="Aus" />

    </information>


    - <actions>
    <action name="Details" URL="http://192.168.66.226:80/homebus/dev...89.-1609548785" />

    </actions>


    </device>


    </DEVICES>

    #2
    den String zuerst einmal zerlegen, damit je Gerät ein XML-Block ist dann kommt jeder "Tag" nur 1x vor...
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      wenn du ein bisschen mit Logikbausteinen bauen kannst


      Code:
      5012|0|"EI"|"lambda x,y: (len(x)>y) and str(x[y]) or ''"|""|0|0|1|0
      
      5012|0|"EC[1]"|"''.join(['<'+str(d[0])+'>' +'<status>' + SN[1](d,1)+ '</status>'+'<phase>' + SN[1](d,2)+ '</phase>'+'<rest>' + SN[1](d,3)+ '</rest>' '</'+str(d[0])+'>' for d in __import__('re').findall(r'(?s)<device>.*?<name>(.*?)</name>(?:.*?testatus\x22\svalue=\x22(.*?)\x22)?(?:.*?Phase\x22\svalue=\x22(.*?)\x22)?(?:.*?Restzeit\x22\svalue=\x22(.*?)\x22)?', EN[1])])"|""|1|0|0|0
      Da käme dann bei deinem obrigen XML das heraus

      Code:
      <Geschirrsp\xc3\xbcler/><status>In Betrieb</status><phase>Trocknen</phase><rest>0:24h</rest></Geschirrsp\xc3\xbcler/><Backofen/><status>Bereit</status><phase></phase><rest></rest></Backofen/><Kochfeld/><status>Aus</status><phase></phase><rest></rest></Kochfeld/><Waschautomat/><status>Aus</status><phase></phase><rest></rest></Waschautomat/>
      Das kannst du dann mit XML2Text auswerten
      Nils

      aktuelle Bausteine:
      BusAufsicht - ServiceCheck - Pushover - HS-Insight

      Kommentar


        #4
        natürlich viel eleganter....
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #5
          Hallo allerseits

          Mich würde es sehr Interessieren, wie dies nun tatsächlich umgesetzt wird.
          Wie empfange ich die XML
          Wie verarbeite ich diese
          etc.
          ......

          Hat jemand ein Beispiel?
          Ich probiere nun schon eine weile, aber es will nicht
          Äs grüessli us der Schwiz

          Roger

          MbM Systems
          Member Konnex Swiss

          Kommentar

          Lädt...
          X