Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Homeduino an Iobroker anbinden

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Homeduino an Iobroker anbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Ingo last edited by

      Hallo Jungs,

      die Sache würde mich auch sehr interessieren !

      Grüße Ingo

      1 Reply Last reply Reply Quote 0
      • P
        PrinzEisenherz1 last edited by

        Moin, Moin!

        Sorry , für die Verspätung.

        Also hier mal zwei Sketche für den Homeduino.

        In beiden ist auch ein SHT21 (Temp-Feuchte-Sensor) mit eingearbeitet. Die lib ist in der ZIP-Datei mit bei.

        Der erste Sketch sendet nur an IoBroker und der zweite sendet gleichzeitig an IoBroker und CCU2.

        Kann ja sein das einer die Daten auch parallel auf der CCU haben möchte.

        Wichtig in beiden Sketchen ist das anpassen der IP-Adresse(n) für IoBroker und ggf CCU

        Desweiteren hab ich ein Javascript noch mit angehängt zum erstellen der Objects in IoBroker.

        Die muss dann jeder nur auf seine Wünsche anpassen. Ist aber selbsterklärend.

        function CreateAllStates(){
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_IP", 0, {read: true, write: true, name: 'Homeduino IP', desc: 'Homeduino IP'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D11", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster links kipp', desc: 'true = geschlossen, false=offen'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D12", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster links offen', desc: 'true = geschlossen, false=offen'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D18", true, {read: true, write: true, type: 'boolean', name: 'Bewegungsmelder Gartennlage', desc: 'true = inaktiv, false=Bewegung'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D19", false, {read: true, write: true, type: 'boolean', name: 'LED-Fluter Garten', desc: 'false=aus, true=an'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D24", false, {read: true, write: true, type: 'boolean', name: 'Alarm-LED grün rot', desc: 'Alarm-LED grün rot'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D25", true, {read: true, write: true, type: 'boolean', name: 'RFID-Haustür', desc: 'RFID-Haustür'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D26", true, {read: true, write: true, type: 'boolean', name: 'Briefkastensperre', desc: 'Briefkastensperre'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D27", true, {read: true, write: true, type: 'boolean', name: 'Briefeinwurf', desc: 'Briefeinwurf'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D28", true, {read: true, write: true, type: 'boolean', name: 'Garagentor', desc: 'Garagentor'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D29", 0, {read: true, write: true, type: 'number', name: 'Wintergarten DHT22 Temperatur', desc: 'Wintergarten DHT22 Temperatur', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D29_1", 0, {read: true, write: true, type: 'number', name: 'Wintergarten DHT22 Luftfeuchte', desc: 'Wintergarten DHT22 Luftfeuchte', unit:'%'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D62", 0, {read: true, write: true, type: 'number', name: 'Pufferspeicher Kerntemperatur', desc: 'Pufferspeicher Kerntemperatur', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D63", 0, {read: true, write: true, type: 'number', name: 'Austritt Warmwasser', desc: 'Austritt Warmwasser', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D64", 0, {read: true, write: true, type: 'number', name: 'Eintritt Zirkulation', desc: 'Eintritt Zirkulation', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D65", 0, {read: true, write: true, type: 'number', name: 'Vorlauf Speicher', desc: 'Vorlauf Speicher', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D66", 0, {read: true, write: true, type: 'number', name: 'Rücklauf Speicher', desc: 'Rücklauf Speicher', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D67", 0, {read: true, write: true, type: 'number', name: 'Eintritt Kaltwasser', desc: 'Eintritt Kaltwasser', unit:'°C'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D68", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster rechts kipp', desc: 'true = geschlossen, false=offen'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_D69", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster rechts offen', desc: 'true = geschlossen, false=offen'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_SHT_Feuchte", 0, {read: true, write: true, type: 'number', name: 'Aussenluftfeuchte SHT21', desc: 'Luftfeuchtesensor SHT21 Aussen', unit:'%'});
        	createState("javascript.0.Technikraum.Homeduino.homeduino_001_SHT_Temp", 0, {read: true, write: true, type: 'number', name: 'Aussentemperatur SHT21', desc: 'Temperatursensor SHT21 Aussen', unit:'°C'});
        }
        CreateAllStates();
        
        

        Ich hoffe das hilft euch weiter

        Gruß

        Johnny
        1058_homeduino-ccu_u_iobroker.zip
        1058_homeduino-sht2x_iobroker.zip

        1 Reply Last reply Reply Quote 0
        • A
          Abry88 last edited by

          Cool Danke 🙂

          Werde ich mal testen

          VG

          1 Reply Last reply Reply Quote 0
          • A
            Abry88 last edited by

            Hi Johnny,

            danke für deine Scripts.

            Ich habe jetzt den Homedino und auch eine das Script soweit angepasst und eingefügt.

            Ich hab auch dein js script gestartet damit er die Objekte unter javascript.0 anlegt.

            Auch das hat geklappt.

            Was aber jetzt nicht klappt. Die gemessenen Werte werden im IOBroker nicht angenommen. Auch im Log steht nichts.

            Muss ich erst einen Adapter dazu installieren?

            Wenn ich z.B. mit Wireshark auf meiner Netzwerkkarte mithöre dann sehe ich das die Pakete aber richtig vom Homeduino an den Server gesendet werden.

            Woran kann es denn noch liegen?

            1 Reply Last reply Reply Quote 0
            • P
              PrinzEisenherz1 last edited by

              Hi Abry,

              Hast du im web-Adapter den Hacken bei 'Eingebautes Simple API' gesetzt?

              Sonst geht es nicht

              Gruß Johnny

              1 Reply Last reply Reply Quote 0
              • A
                Abry88 last edited by

                Danke für die schnelle Antwort 🙂

                Hat geklappt!

                1 Reply Last reply Reply Quote 0
                • B
                  Boensm last edited by

                  Hallo,

                  ich habe Iobroker auf einem Raspi mit der IP 192.168.1.180 installiert.

                  Der Homeduino hat die IP 192.168.1.145.

                  Im Serial Monitor der Arduino IDE sehe ich das versucht wird eine Verbindung aufzubauen und Daten zu senden.

                  Welche Adapter muss ich in Iobroker installieren um den Homduino anbinden zu können?

                  Da ich mich erst seit kurzem damit beschäftige wäre eine Hilfe von euch sehr willkommen.

                  Vielen dank schon mal.

                  Gruß

                  Manfred

                  1 Reply Last reply Reply Quote 0
                  • T
                    thobastian last edited by

                    Auch bei mir funktioniert das toll.

                    Danke für die gute Erklärung und die Skripte !!

                    Gruß

                    Thomas

                    1 Reply Last reply Reply Quote 0
                    • K
                      klassisch Most Active last edited by

                      Vielen Dank für die Ausführungen!

                      Wenn ich das richtig verstanden habe, wird hier der "ioBroker simple web Adapter" mit seiner eingebauten simpleAPI über Port 8082 verwendet.

                      Ich verwende derzeit die eigenständige simpleAPI (Port8087) https://github.com/ioBroker/ioBroker.simple-api . Dort gibt es mittlerweile setBulk, womit man gleich mehrere Werte auf einen Streich setzen kann. Find ich sehr praktisch.

                      Befehle lt. help:

                        "getPlainValue": "http://ipaddress:8087/getPlainValue/stateID",
                        "get": "http://ipaddress:8087/get/stateID/?prettyPrint",
                        "getBulk": "http://ipaddress:8087/getBulk/stateID1,stateID2/?prettyPrint",
                        "set": "http://ipaddress:8087/set/stateID?value=1&prettyPrint",
                        "toggle": "http://ipaddress:8087/toggle/stateID&prettyPrint",
                        "setBulk": "http://ipaddress:8087/setBulk?stateID1=0.7&stateID2=0&prettyPrint",
                        "objects": "http://ipaddress:8087/objects?pattern=system.adapter.admin.0*&prettyPrint",
                        "objects": "http://ipaddress:8087/objects?pattern=system.adapter.admin.0*&type=adapter&prettyPrint",
                        "states": "http://ipaddress:8087/states?pattern=system.adapter.admin.0*&prettyPrint"
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • P
                        PrinzEisenherz1 last edited by

                        Hi klassisch!

                        Ja das mit setBulk ist/wäre ne feine Sache. Man muss aber aufpassen das die Gesamtlänge der URL einen bestimmten Wert nicht überschreitet da in sonst das Ethernetshield nicht verarbeitet.

                        Ich weiß bloß jetzt aus m Kopf nicht wie die Limitierung war.

                        Da bin ich drauf gestoßen als ich meine Wetterstation auf setBulk umstellen wollte. Kleiner Befehle gingen und bei größeren kam nichts an.

                        Gruß

                        Johnny

                        1 Reply Last reply Reply Quote 0
                        • K
                          klassisch Most Active last edited by

                          Hi, Johnny,

                          vielen Dank für den Hinweis. Habe mal bei Apollon77 nach den Limitationen gefragt. Denke, dann wissen wir mehr.

                          1 Reply Last reply Reply Quote 0
                          • P
                            PrinzEisenherz1 last edited by

                            Hi klassisch, die Limitierung der Gesamtlänge der URL ist n Problem vom ethernet shield. Hat, glaub ich mal gelesen zu haben, nen Zusammenhang mit der SPI Schnittstelle wo das ethernet shield andockt.

                            1 Reply Last reply Reply Quote 0
                            • K
                              klassisch Most Active last edited by

                              Gut, das macht Sinn. Bei meinen ESP8266 bin ich bei der Web-Ausgabe an den Browser auch an eine soche Grenze gestoßen. Wenn die Antwort zu lang wird, fehlt plötzlich ein Teil, also ein Großteil.

                              Apollon hat ja auch geantwortet, daß wissentlich und willentlich keine Limitation in den Adapter eingeabut ist. Es wird aber irgendwo in der Kette eine geben.

                              1 Reply Last reply Reply Quote 0
                              • P
                                PrinzEisenherz1 last edited by

                                Also über spi ist der buffer wohl 64 Byte groß.

                                Für mich stellt sich die Frage wie man am besten mit client.print die Übertragung mit setBulk kombiniert.

                                Derzeit sende ich über set jede Variable in einer eigenen URL. Mit setBulk wäre das natürlich ne leitungslösung da ich dann nur immer einmal übertragen musste um alle Variablen zu aktualisieren.

                                Gruß Johnny

                                1 Reply Last reply Reply Quote 0
                                • S
                                  schneidy76 last edited by

                                  als blutiger homeduino Anfänger habe ich da ne Frage:

                                   createState("javascript.0.Technikraum.Homeduino.homeduino_001_IP", 0, {read: true, write: true, name: 'Homeduino IP', desc: 'Homeduino IP'});
                                  

                                  muss da die IP vom Homeduino rein, oder holt der sie sich selber? :?:

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    PrinzEisenherz1 last edited by

                                    Hi

                                    In dem state hinterlegt der Homeduino später seine IP Adresse die er vom Router bekommen hat.

                                    Dann siehst du welche IP Adresse dein Homeduino hat

                                    Gruß Johnny

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      schneidy76 last edited by

                                      heul, ich kriege es nicht hin 😞
                                      2631_2017-10-04_16_51_15-homeduino-sht2x_iobroker___arduino_1.8.4.png
                                      wollte hier D2 und 3 konfigurieren

                                      function CreateAllStates(){
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_IP", 0, {read: true, write: true, name: 'Homeduino IP', desc: 'Homeduino IP'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D2", false, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster links kipp', desc: 'true = geschlossen, false=offen'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D3", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster links offen', desc: 'true = geschlossen, false=offen'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D4", true, {read: true, write: true, type: 'boolean', name: 'Bewegungsmelder Gartennlage', desc: 'true = inaktiv, false=Bewegung'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D4", false, {read: true, write: true, type: 'boolean', name: 'LED-Fluter Garten', desc: 'false=aus, true=an'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D5", false, {read: true, write: true, type: 'boolean', name: 'Alarm-LED grün rot', desc: 'Alarm-LED grün rot'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D6", true, {read: true, write: true, type: 'boolean', name: 'RFID-Haustür', desc: 'RFID-Haustür'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D7", true, {read: true, write: true, type: 'boolean', name: 'Briefkastensperre', desc: 'Briefkastensperre'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D8", false, {read: true, write: true, type: 'boolean', name: 'Briefeinwurf', desc: 'Briefeinwurf'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D9", true, {read: true, write: true, type: 'boolean', name: 'Garagentor', desc: 'Garagentor'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D10", 0, {read: true, write: true, type: 'number', name: 'Wintergarten DHT22 Temperatur', desc: 'Wintergarten DHT22 Temperatur', unit:'°C'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D11", 0, {read: true, write: true, type: 'number', name: 'Wintergarten DHT22 Luftfeuchte', desc: 'Wintergarten DHT22 Luftfeuchte', unit:'%'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D12", 0, {read: true, write: true, type: 'number', name: 'Pufferspeicher Kerntemperatur', desc: 'Pufferspeicher Kerntemperatur', unit:'°C'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D13", 0, {read: true, write: true, type: 'number', name: 'Austritt Warmwasser', desc: 'Austritt Warmwasser', unit:'°C'});
                                      }
                                      CreateAllStates();
                                      

                                      und hier das Script,

                                      aber ich bekomme weder was raus noch rein.

                                      Nur die states die im script stehen habe ich auch so als Object,

                                      die gefundene IP passt
                                      2631_2017-10-04_16_55_30-microsoft_edge.png

                                      update: das mit den Eingängen habe ich hin bekommen, was noch fehlt die Ausgänge…

                                      geht das mit dem io20 überhaupt?
                                      2631_2017-10-04_21_55_15-homeduino-sht2x_iobroker___arduino_1.8.4.png

                                      function CreateAllStates(){
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_IP", 0, {read: true, write: true, name: 'Homeduino IP', desc: 'Homeduino IP'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D2", 0, {read: true, write: true, type: 'state', name: 'Wintergarten Fenster links kipp', desc: 'true = geschlossen, false=offen'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D3", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten Fenster links offen', desc: 'true = geschlossen, false=offen'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D4", true, {read: true, write: true, type: 'boolean', name: 'Bewegungsmelder Gartennlage', desc: 'true = inaktiv, false=Bewegung'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D4", true, {read: true, write: true, type: 'boolean', name: 'LED-Fluter Garten', desc: 'false=aus, true=an'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D5", true, {read: true, write: true, type: 'boolean', name: 'Alarm-LED grün rot', desc: 'Alarm-LED grün rot'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D6", true, {read: true, write: true, type: 'boolean', name: 'RFID-Haustür', desc: 'RFID-Haustür'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D7", true, {read: true, write: true, type: 'boolean', name: 'Briefkastensperre', desc: 'Briefkastensperre'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D8", true, {read: true, write: true, type: 'boolean', name: 'Briefeinwurf', desc: 'Briefeinwurf'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D9", true, {read: true, write: true, type: 'boolean', name: 'Garagentor', desc: 'Garagentor'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D10", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten DHT22 Temperatur', desc: 'Wintergarten DHT22 Temperatur'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D11", true, {read: true, write: true, type: 'boolean', name: 'Wintergarten DHT22 Luftfeuchte', desc: 'Wintergarten DHT22 Luftfeuchte'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D12", true, {read: true, write: true, type: 'boolean', name: 'Pufferspeicher Kerntemperatur', desc: 'Pufferspeicher Kerntemperatur'});
                                         createState("javascript.0.Technikraum.Homeduino.homeduino_001_D13", true, {read: true, write: true, type: 'boolean', name: 'Austritt Warmwasser', desc: 'Austritt Warmwasser'});
                                      }
                                      CreateAllStates();
                                      

                                      2631_2017-10-04_21_58_25-microsoft_edge.png

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        PrinzEisenherz1 last edited by

                                        Hi schneidy76 (lach… heißt wohl Schneider und bist 76 geboren - wie ich ...lach)

                                        also zum schalten von Ausgängen musst über script machen. Einfach den state ändern geht leider nicht.

                                        hier mal n Beispiel zum schalten eines Ausgangs.

                                        Nehmen wir mal Deinen konfigurierten Port D11. Den hast de ja als digital output konfiguriert.

                                        Wenn Du jetzt im Browser folgendes eingibst:

                                        http://<ip-adresse deines/homeduino="">/?D11:1</ip-adresse>
                                        

                                        Dann schaltet der Port D11 am homeduino ein und wenn Du:

                                        http://<ip-adresse deines/homeduino="">/?D11:0</ip-adresse>
                                        

                                        eingibst, dann schaltet er wieder aus.

                                        In nem Script löst Du das am besten mit nem wget aus einem exec.

                                        Hier mal n Beispiel für einschalten bzw auf HIGH setzen des Ports D11:

                                        exec("wget http://<ip-adresse deines/homeduino="">/?D11:1");</ip-adresse>
                                        

                                        Ich hoffe es war verständlich genug 😄

                                        Gruß

                                        Johnny

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          schneidy76 last edited by

                                          ` > Hi schneidy76 (lach… heißt wohl Schneider und bist 76 geboren - wie ich ...lach)

                                          also zum schalten von Ausgängen musst über script machen. Einfach den state ändern geht leider nicht. `
                                          Kannst auch Torsten sagen - verdammt da wollt ich mal kreativ sein….

                                          Aber alles richtig! :lol:

                                          Ich probiere das mal mit dem Script.

                                          Des geht auch in iobroker denke ich?

                                          VG Torsten

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            PrinzEisenherz1 last edited by

                                            Hi Thorsten,

                                            Also das Beispiel mit exec ist für n Javascript gedacht.

                                            Also im iobroker javascript Adapter.

                                            Das kannst du dann zum Beispiel mit dem Taster triggern.

                                            Ich steuere damit zum Beispiel meine Gartenbeleuchtung

                                            Gruß Johnny

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            32
                                            5783
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo