Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Homeseer Devices in IObroker Datenpunkte schreiben

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Homeseer Devices in IObroker Datenpunkte schreiben

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 2 Kommentatoren 397 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Joesch80J Offline
    Joesch80J Offline
    Joesch80
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich suche noch immer die beste Möglichkeit den jeweilgen Status meiner Homeseer Geräte in IObroker anzuzeigen.
    Momentan frage ich bei einer Änderung eines Homeseer-Gerätewertes immer noch alle Geräte einzeln ab.
    Hierfür benutze ich Blockly und hole mir mittels "request url" den jeweilgen Wert und schreibe ihn in ein Objekt.
    Bei der hohen Anzahl meiner Geräte sind das viele Anfragen gleichzeitig.
    Ich würde bei Änderung eines Gerätewertes lieber mittels einem einzigen request ALLE werte in einen Datenpunkt schreiben und von dort dann jeden Status aktualisieren.
    Das Problem ist nur, dass der Json-Baum zwar übersichtlich nummeriert ist, die einzelnen Geräte sich aber hinter den fortlaufenden Nummern verstecken, die sich ändern können wenn beispielsweise in Homeseer ein Gerät gelöscht oder hinzugefügt wird.
    Kann mir jemand weiterhelfen oder hat eine Idee wie man abhängig von der RefID (die ändert sich nicht) den jeweiligen Wert liest?

    3.jpg 2.jpg 1.jpg

    AsgothianA 1 Antwort Letzte Antwort
    0
    • Joesch80J Joesch80

      Hallo,
      ich suche noch immer die beste Möglichkeit den jeweilgen Status meiner Homeseer Geräte in IObroker anzuzeigen.
      Momentan frage ich bei einer Änderung eines Homeseer-Gerätewertes immer noch alle Geräte einzeln ab.
      Hierfür benutze ich Blockly und hole mir mittels "request url" den jeweilgen Wert und schreibe ihn in ein Objekt.
      Bei der hohen Anzahl meiner Geräte sind das viele Anfragen gleichzeitig.
      Ich würde bei Änderung eines Gerätewertes lieber mittels einem einzigen request ALLE werte in einen Datenpunkt schreiben und von dort dann jeden Status aktualisieren.
      Das Problem ist nur, dass der Json-Baum zwar übersichtlich nummeriert ist, die einzelnen Geräte sich aber hinter den fortlaufenden Nummern verstecken, die sich ändern können wenn beispielsweise in Homeseer ein Gerät gelöscht oder hinzugefügt wird.
      Kann mir jemand weiterhelfen oder hat eine Idee wie man abhängig von der RefID (die ändert sich nicht) den jeweiligen Wert liest?

      3.jpg 2.jpg 1.jpg

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @Joesch80 sagte in Homeseer Devices in IObroker Datenpunkte schreiben:

      Kann mir jemand weiterhelfen oder hat eine Idee wie man abhängig von der RefID (die ändert sich nicht) den jeweiligen Wert liest?

      Direkt Abhängig von der Ref Id den Wert lesen ist wahrscheinlich schwierig. Das musst du aber auch nicht.

      Versuch mal den Folgenden Ablauf:

      Screenshot 2020-09-15 at 07.54.17.png

      Mit diesem Ablauf wird alle 10 sekunden das gesamte JSON Durchgesucht und der Status von allen Homeseer Geräten entsprechend im Objektbaum hinterlegt. Das kannst du natürlich auch in einen Trigger pressen, wobei du aufpassen solltest das der nicht zu oft kommt.

      Kritisch ist (und da bin ich kein Experte) ob / in wie weit Blockly in der Lage ist die entsprechenden Datenpunkte zu erzeugen wenn sie nicht existieren. Ansonsten musst du natürlich sicher stellen das für jedes Gerät die entsprechenden Datenpunkte existieren, da wirklich ALLE Homeseer Geräte abgefragt werden. Auch muss jedes Gerät die Attribute "Location", "Name" und "Status" im JSON besitzen.

      Das wuerde ich über Typescript oder direkt JS abbilden.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      Joesch80J 2 Antworten Letzte Antwort
      0
      • AsgothianA Asgothian

        @Joesch80 sagte in Homeseer Devices in IObroker Datenpunkte schreiben:

        Kann mir jemand weiterhelfen oder hat eine Idee wie man abhängig von der RefID (die ändert sich nicht) den jeweiligen Wert liest?

        Direkt Abhängig von der Ref Id den Wert lesen ist wahrscheinlich schwierig. Das musst du aber auch nicht.

        Versuch mal den Folgenden Ablauf:

        Screenshot 2020-09-15 at 07.54.17.png

        Mit diesem Ablauf wird alle 10 sekunden das gesamte JSON Durchgesucht und der Status von allen Homeseer Geräten entsprechend im Objektbaum hinterlegt. Das kannst du natürlich auch in einen Trigger pressen, wobei du aufpassen solltest das der nicht zu oft kommt.

        Kritisch ist (und da bin ich kein Experte) ob / in wie weit Blockly in der Lage ist die entsprechenden Datenpunkte zu erzeugen wenn sie nicht existieren. Ansonsten musst du natürlich sicher stellen das für jedes Gerät die entsprechenden Datenpunkte existieren, da wirklich ALLE Homeseer Geräte abgefragt werden. Auch muss jedes Gerät die Attribute "Location", "Name" und "Status" im JSON besitzen.

        Das wuerde ich über Typescript oder direkt JS abbilden.

        A.

        Joesch80J Offline
        Joesch80J Offline
        Joesch80
        schrieb am zuletzt editiert von
        #3

        @Asgothian

        Habe mit einer so schnellen Antwort nicht gerechnet, werds am Wochenende testen.
        Vielen Dank für die Hilfe

        1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @Joesch80 sagte in Homeseer Devices in IObroker Datenpunkte schreiben:

          Kann mir jemand weiterhelfen oder hat eine Idee wie man abhängig von der RefID (die ändert sich nicht) den jeweiligen Wert liest?

          Direkt Abhängig von der Ref Id den Wert lesen ist wahrscheinlich schwierig. Das musst du aber auch nicht.

          Versuch mal den Folgenden Ablauf:

          Screenshot 2020-09-15 at 07.54.17.png

          Mit diesem Ablauf wird alle 10 sekunden das gesamte JSON Durchgesucht und der Status von allen Homeseer Geräten entsprechend im Objektbaum hinterlegt. Das kannst du natürlich auch in einen Trigger pressen, wobei du aufpassen solltest das der nicht zu oft kommt.

          Kritisch ist (und da bin ich kein Experte) ob / in wie weit Blockly in der Lage ist die entsprechenden Datenpunkte zu erzeugen wenn sie nicht existieren. Ansonsten musst du natürlich sicher stellen das für jedes Gerät die entsprechenden Datenpunkte existieren, da wirklich ALLE Homeseer Geräte abgefragt werden. Auch muss jedes Gerät die Attribute "Location", "Name" und "Status" im JSON besitzen.

          Das wuerde ich über Typescript oder direkt JS abbilden.

          A.

          Joesch80J Offline
          Joesch80J Offline
          Joesch80
          schrieb am zuletzt editiert von
          #4

          @Asgothian

          Habe gerade mal nachgeschaut, 660 Geräte müsste ich anlegen, das ist dann doch ein wenig zu viel.
          Wirklich brauchen tu ich ungefähr 50 Werte.
          Ein Homeseer-Adapter, in dessen Einstellung man die Geräte auswählen könnte wär natürlich der Hammer :-)
          Gibt es eventuell die Möglichkeit eine Deviceliste anzulegen um dann nur die gewünschten abzufragen?
          Falls dies ginge, würde ich gerne dort die Ref eintragen, die ändert sich nicht. Ein Name oder Location könnte sich ändern.
          Gruß

          AsgothianA 1 Antwort Letzte Antwort
          0
          • Joesch80J Joesch80

            @Asgothian

            Habe gerade mal nachgeschaut, 660 Geräte müsste ich anlegen, das ist dann doch ein wenig zu viel.
            Wirklich brauchen tu ich ungefähr 50 Werte.
            Ein Homeseer-Adapter, in dessen Einstellung man die Geräte auswählen könnte wär natürlich der Hammer :-)
            Gibt es eventuell die Möglichkeit eine Deviceliste anzulegen um dann nur die gewünschten abzufragen?
            Falls dies ginge, würde ich gerne dort die Ref eintragen, die ändert sich nicht. Ein Name oder Location könnte sich ändern.
            Gruß

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #5

            @Joesch80
            Klar geht das. Du musst halt an einer Stelle die gewünschten RefID's hinterlegen. Dann kannst das Skript in der Listen nach den RefID's suchen und nur die States anlegen die auch benötigt werden. So eine Liste kannst du erst einmal im Skript anlegen. Ich hab das beispielhaft für 3 RefID's gemacht, du kannst das ja erweitern.

            Folgendes Blockly macht das, ABER:
            Die Namen der States werden jedesmal wieder gesetzt, du kannst sie also im Objektbaum nicht selber umbenennen. Weiterhin musst du beachten das so wie es geschrieben ist die Kombination aus 'location' und 'name' eindeutig sein muss, sonst werden einzelne States überschrieben.

            Screenshot 2020-09-16 at 08.23.45.png

            Hinter dem ersten Block versteckt sich eine einfache kleine JS Funktion:

            Screenshot 2020-09-16 at 08.27.34.png

            Hinter dem Spoiler der Code zum direkt einfügen.

            Viel Spass damit.

            Export selected blocks
            
            <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="|0=g`][tgywU_,#RCr+J" x="63" y="38">
             <mutation statements="false">
               <arg name="StateName" varid="^]dDc,j[I|N{kC|6J(:h"></arg>
               <arg name="ClearName" varid="mRK(@W$xVD]R9mB|!wJi"></arg>
               <arg name="TargetValue" varid="UHD;umNeqxwsm;mCX2la"></arg>
             </mutation>
             <field name="NAME">CreateAndSetState</field>
             <field name="SCRIPT">Y3JlYXRlU3RhdGUoU3RhdGVOYW1lLCB7bmFtZTogQ2xlYXJOYW1lLCB0eXBlOiB0eXBlb2YoVGFyZ2V0VmFsdWUpfSwgZnVuY3Rpb24gKCkgewogIHNldFN0YXRlKFN0YXRlTmFtZSwgVGFyZ2V0VmFsdWUpOwp9KTs=</field>
             <comment pinned="false" h="80" w="160">Describe this function...</comment>
            </block>
            

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            Joesch80J 1 Antwort Letzte Antwort
            0
            • AsgothianA Asgothian

              @Joesch80
              Klar geht das. Du musst halt an einer Stelle die gewünschten RefID's hinterlegen. Dann kannst das Skript in der Listen nach den RefID's suchen und nur die States anlegen die auch benötigt werden. So eine Liste kannst du erst einmal im Skript anlegen. Ich hab das beispielhaft für 3 RefID's gemacht, du kannst das ja erweitern.

              Folgendes Blockly macht das, ABER:
              Die Namen der States werden jedesmal wieder gesetzt, du kannst sie also im Objektbaum nicht selber umbenennen. Weiterhin musst du beachten das so wie es geschrieben ist die Kombination aus 'location' und 'name' eindeutig sein muss, sonst werden einzelne States überschrieben.

              Screenshot 2020-09-16 at 08.23.45.png

              Hinter dem ersten Block versteckt sich eine einfache kleine JS Funktion:

              Screenshot 2020-09-16 at 08.27.34.png

              Hinter dem Spoiler der Code zum direkt einfügen.

              Viel Spass damit.

              Export selected blocks
              
              <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defcustomnoreturn" id="|0=g`][tgywU_,#RCr+J" x="63" y="38">
               <mutation statements="false">
                 <arg name="StateName" varid="^]dDc,j[I|N{kC|6J(:h"></arg>
                 <arg name="ClearName" varid="mRK(@W$xVD]R9mB|!wJi"></arg>
                 <arg name="TargetValue" varid="UHD;umNeqxwsm;mCX2la"></arg>
               </mutation>
               <field name="NAME">CreateAndSetState</field>
               <field name="SCRIPT">Y3JlYXRlU3RhdGUoU3RhdGVOYW1lLCB7bmFtZTogQ2xlYXJOYW1lLCB0eXBlOiB0eXBlb2YoVGFyZ2V0VmFsdWUpfSwgZnVuY3Rpb24gKCkgewogIHNldFN0YXRlKFN0YXRlTmFtZSwgVGFyZ2V0VmFsdWUpOwp9KTs=</field>
               <comment pinned="false" h="80" w="160">Describe this function...</comment>
              </block>
              

              Joesch80J Offline
              Joesch80J Offline
              Joesch80
              schrieb am zuletzt editiert von
              #6

              @Asgothian

              Super, herzlichen Dank

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              702

              Online

              32.7k

              Benutzer

              82.4k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe