Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [UPDATE] DOino / Arduino Mega 2560 als Multisensor-Node / All in One Node/ Mysensors

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [UPDATE] DOino / Arduino Mega 2560 als Multisensor-Node / All in One Node/ Mysensors

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

      nächste Version mit RELAY Szenen…

      d.h. ich habe 16 relais, um die SCHNELL zu setzen, benutze ich BITs nicht BYTE's... damit spare ich mir Speicher und erhöhe die Geschwindigkeit beim setzen, daich den kompletten PORT (8 Ausgänge) mit einem Kommando sezen kann.

      uint8_t relay_scenes[][2] = { 
        {0b00001111, 0b01111100}, //Digital Pins  29,28,27,26,25,24,23,22, 30,31,32,33,34,35,36,37
        {0b00000000, 0b00000000}, // here set your scenes
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000}, //
        {0b00000000, 0b00000000} //
      };
      

      ich maskiere dann die Ausgänge , die ich nicht mit den Szenen ansprechen Darf (in meinem beisoiel alle Pins werden beeinflusst(können HIGH oder LOW gesetzt werden)

      #define PORT_A_MASK 0xFF // Mask for Port A all if 0-Pin will NOT be affected whith PORTA=...function
      #define PORT_C_MASK 0xFF // Mask for Port C all if 0-Pin will NOT be affected whith PORTC=...function
      

      0xFF bedeutet 1111 1111 binär

      wenn Sie also 0x0F als MASK setzen würden als 0000 1111 dann werden bei bit nummern (12345678) die bits 5678 mit der SZENE 1111 1111 beeinflusst (können 0 oder 1 sein) 1234 werden nicht beeinflusst, da MASKe 0000. also ergebniss mit der maske 0000 1111 und der szene 1111 1111 ist dann 0000 1111

      Libraries hier:

      https://github.com/mysensors/Arduino/ar … opment.zip
      933_mysensors_gatewayclient_work_v13.rar

      1 Reply Last reply Reply Quote 0
      • M
        Maxtox last edited by

        die Sekunde wurde in 5 Beriche mit jeweils 10 vollwellen geteilt und2 Pumpen können in 10 schritten (kann aber bis unendlich geändert werden) gesteuert werden.
        933_mysensors_gatewayclient_work_v14.rar

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

          Hallo Maxtox,

          ich habe auch viel mit mySensor probiert. Leider hatte ich die letzten Wochen nicht so viel Zeit dafür.

          Ich verstehe noch nicht ganz Deine Einbindung von mysensor in iobroker.

          Kann ich mir das so vorstellen:

          Ein Arduino läuft als Gateway. Dieser hängt am Netzwerk (via LAN, WLAN?) in stehlt so die Verbindung zum iobroker her, via MQTT. Mit einem NRF24L01+ am Gateway wird der Kontakt zu den Sensoren aufgebaut.

          Ist das so?

          Ich würde da gern etwas unterstützen, wenn ich kann, zumindest sobal ich Deinen Aufbau verstanden habe. Was läuft z.B. auf den Sensoren, eine OTA Firmware?

          Gruß

          Tino

          1 Reply Last reply Reply Quote 0
          • M
            Maxtox last edited by

            hi…gut wenn du mich unterstützen würdest...

            as läuft zur zeit so:

            Arduino mit sensors <->raspi mit iobroker

            bis jetzt ohne nrf, da ich auf den "filter" für 3.3V warte...

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

              okay, dann der Reihe nach.

              Hardware, ich hab hier alles möglich rumliegen, Kiste voll. Würde erstmal Deinen Aufbau genau nachbauen, damit wir die gleiche Basis haben.

              Arduino, welcher?

              LAN/WLAN, welches Modul?

              Sensor, welcher und an welchem PIN?

              Sketch im Arduino, welcher?

              Welche IDE?

              Gruß

              Tino

              1 Reply Last reply Reply Quote 0
              • M
                Maxtox last edited by

                Arduino Mega 2560

                IDE 1.6.7

                LAN: W5100

                Pins: Siehe Sketch

                Hast du schon reingeschaut?

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

                  In den Sketch hatte ich schon geschaut.

                  Ich bau mir morgen mal die Teile zusammen. Hab mir aus meiner Kiste gerade einen Mega und das LAN Modul geholt.

                  Muss mir noch Deine Version der IDE einrichten, hab die noch nicht. Dazu hab ich heute keine Lust mehr, zu müde, sorry.

                  Musste eben in unseren Erdtank (Wasser) steigen, da war der Wasserstandsensor irgendwie mit Dreck zugeschmiert. Keine Ahnung wie der Mist da hin gekommen ist. Musste dann den Ultraschallsensor tauschen. Der Sensor meldet übrigens via ESP8266 oder mysensor NRF24 seine Aktivitäten ins Haus. Teste mit den beiden Methoden, welche für mich besser ist.

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

                    Kurzer Status. Komme damit nicht weiter, da ich noch am Hauptproblem bastel, "Stabilität von iobroker".

                    Sorry.
                    305_heizungsscript_220_b15_temp.txt

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

                      Hallo Maxtox,

                      habe einen 2560R3 mit 5100 Shield. Der Sketch von Funkleuchtturm läuft ohne Kompilierungsfehler. D.h. die Hardware und Netzkommunikation funktioniert. Dein Sketch unterstützt sogar MQTT.

                      Beim Compilieren habe ich einige Fehler gehabt. Fehlende Libraries habe ich hinzugefügt. Jetzt erhalte ich noch folgende Fehlermeldung:

                      Zeile 636: 'S_UNUSED' was not declared in this scope

                      In Zeile 442 wird der Mechanismus auch verwendet. Hier funktioniert er. Ich möchte acht Relais für eine Fussbodenheizung steuern. Du hast bereits 16 definiert. Somit brauche ich neben den IPs eigentlich nichts einstellen. Oder?

                      Gruß

                      akamia

                      1 Reply Last reply Reply Quote 0
                      • M
                        Maxtox last edited by

                        kein problem, einfach im /core unterverzeichnis diese datei austauschen:
                        933_modifizierte_mymessage.h.rar
                        9364_vis.png

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

                          ! In file included from C:\Program Files (x86)\Arduino\libraries\MySensors/core/MySensorCore.h:27:0,
                          ! from C:\Program Files (x86)\Arduino\libraries\MySensors/MySensor.h:28,
                          ! from C:\Users\Helle\Documents_Projekte\HA_Arduino\Sketche\MySensors_V14\MySensors_V14.ino:132:
                          ! C:\Program Files (x86)\Arduino\libraries\MySensors/core/MyMessage.h:158:2: error: expected '}' before 'V_UNKNOWN'
                          ! V_UNKNOWN = 255, // <–- We don't know
                          ! ^
                          ! C:\Program Files (x86)\Arduino\libraries\MySensors/core/MyMessage.h:158:2: error: typedef 'V_UNKNOWN' is initialized (use decltype instead)
                          ! C:\Program Files (x86)\Arduino\libraries\MySensors/core/MyMessage.h:159:1: error: expected unqualified-id before '}' token
                          ! } mysensor_data;
                          ! ^
                          ! C:\Program Files (x86)\Arduino\libraries\MySensors/core/MyMessage.h:159:1: error: expected declaration before '}' token
                          ! exit status 1
                          ! Fehler beim Kompilieren.

                          1 Reply Last reply Reply Quote 0
                          • M
                            Maxtox last edited by

                            bist auf 1.6.7?

                            noch mal!
                            933_mymessage.rar

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

                              Hallo Maxtox,

                              ja, bin auf der 1.6.7 und parallel teste ich auch die aktuelle Nightly Build. Die Libraries habe ich gemäß den Links im Sketch geladen. Die Aktualisierung für die neuesten Libraries habe ich durchgeführt. Jetzt hängt es noch an OneWire.

                              ! Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
                              ! MySensors_V14:333: error: no matching function for call to 'OneWire::OneWire()'
                              ! OneWire ds18x20[oneWirePinsCount];
                              ! ^
                              ! C:\Users\Helle\Documents_Projekte\HA_Arduino\Sketche\MySensors_V14\MySensors_V14.ino:333:33: note: candidates are:
                              ! In file included from C:\Users\Helle\Documents_Projekte\HA_Arduino\Sketche\MySensors_V14\MySensors_V14.ino:64:0:
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:265:5: note: OneWire::OneWire(uint8_t)
                              ! OneWire( uint8_t pin);
                              ! ^
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:265:5: note: candidate expects 1 argument, 0 provided
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:250:7: note: constexpr OneWire::OneWire(const OneWire&)
                              ! class OneWire
                              ! ^
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:250:7: note: candidate expects 1 argument, 0 provided
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:250:7: note: constexpr OneWire::OneWire(OneWire&&)
                              ! C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:250:7: note: candidate expects 1 argument, 0 provided
                              ! C:\Users\Helle\Documents_Projekte\HA_Arduino\Sketche\MySensors_V14\MySensors_V14.ino: In function 'void setup()':
                              ! MySensors_V14:588: error: 'class OneWire' has no member named 'setPin'
                              ! ds18x20__.setPin(i);
                              ! ^
                              ! exit status 1
                              ! no matching function for call to 'OneWire::OneWire()'
                              ! Dieser Report hätte mehr Informationen mit
                              ! "Ausführliche Ausgabe während der Kompilierung"
                              ! aktiviert in Datei > Einstellungen.__

                              1 Reply Last reply Reply Quote 0
                              • M
                                Maxtox last edited by

                                Update to Productive

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jopebe last edited by

                                  Hallo und guten Tag,

                                  die Arbeit, die hinter diesem Projekt steckt, muss immens gewesen sein.

                                  Ich würde gerne etwas davon profitieren, bin aber noch Anfänger, und habe daher noch einige Verständnisfragen.

                                  1. Im Sketch sind Kennziffern erwähnt, mit denen man die Ein/Ausgänge definieren kann:

                                  I/O-Kennung: hier wird die Funktion aller verwendbaren IOös mit einer Kennziffer festgelegt

                                  //dabei haben alle IOös die Standardfunktionen plus spez. Sonderfunktionen

                                  // Standardfunktionen sind STANDARD TYPE:

                                  // '1' =MY_SystemPin; '2' =DS18B20; '3'=MAX31855; '4' =RELAY '5' =DHTxx; '6' =PWM, '7' =IMPULSEcount, '8'=NTC, '9'=BUTTON,

                                  typedef struct s_iomodus

                                  {

                                  mysensor_sensor sensorType;

                                  mysensor_data variableType;

                                  const char* sensorDescription;

                                  const char* sensorVersion;

                                  const unsigned char Int_to_HLP;

                                  } iomodus_t;

                                  iomodus_t iomodus[] =

                                  {

                                  /*Please fill in the RIGH Sensor Type and Variable Type from the SERIAL API

                                  http://www.mysensors.org/download/

                                  {presentation, set/req, description}

                                  */

                                  // SENSOR VARIABLE DESCRIPTION STANDARD TYPE OFFSET

                                  // sensorType variableType sensorDescription sensorVersion Int_to_HLP

                                  //Relay An / Relay Aus__________________________

                                  { S_UNUSED, V_UNKNOWN, "DESCRIPTIONS", "MY_SystemPin", 0}, //D0 DO NOT TOUCH

                                  { S_UNUSED, V_UNKNOWN, "DESCRIPTIONS", "MY_SystemPin", 0}, //D1 DO NOT TOUCH

                                  In der darauf folgenden Liste finde ich aber keine der Zahlen wieder und auch keine Stelle, wo ich sie einsetzen könnte?

                                  Wie geht das?

                                  2.Gibt es auch eine abgespeckte Form, in der z.B. nur 5 oder 10 Sensoren/Aktoren auf die gleich Art und Weise eingebunden werden, wobei aber dann die Speicherkapazität eines Uno oder Mini ausreicht?

                                  3. Ich bin etwas ratlos. Hinweis: Im Homeduino-Projekt ist etwas ähnliches umgesetzt, oder?

                                  Vielen Dank im Voraus

                                  jopebe

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Maxtox last edited by

                                    Schreib per PN deine rufnummer… Per Telefon ist es einfacher

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jopebe last edited by

                                      Sorry, wenn ich eine Zeit lang still war. Ich hatte andere Probleme.

                                      Mit DOino will ich mich später wieder beschäftigen, wenn ich mehr Grundlagen habe.

                                      Hier wird sehr viel im Rahmen der Diskussionen erklärt. Ich vermisse manchmal "HowTos".

                                      Im MySensor-Net ist es ähnlich. Dort sind die Grundlagen sehr dürftig erklärt und man muss Aufpassen, welche Version mit welchem Sketch läuft. Hinzu kommt, dass man sogar noch auf die Boards-Versionen in IDE achten muss.

                                      Ich habe z.B. mit der neuesten Version kein lauffähiges Gateaway zu Stande gebracht. Das muss man erst einmal heraus finden.

                                      Apropo Gateaway: Ich kriege das Original-Ethernet-Gateaway in IO-Broker nicht dazu, den Node mit dem Original.Temperatur-Sketch von Hek an zu zeigen. Ich finde auch keine aktuelle Anleitung.

                                      Wenn hier einer einen Tipp hat.

                                      Bis demnächst, wenn ich mir wieder etwas erkämpft habe.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Maxtox last edited by

                                        sehe ich genau so… die, die programme schreiben brauchen es nicht, und die es installieren wollen es nicht mit den anderen teilen 😉

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          Bönne last edited by

                                          Hallo zusammen,

                                          ich bin seit einiger Zeit mit dem Thema iobroker unterwegs, beschäftige mich aber auch mit den Arduinoboards, die ich gerne in iobroker anbinden möchte. Diese Projekt ist m.E. hier sehr vielversprechend, aber mir fehlt auch ein bisschen mehr beschreibung … diese vermisse ich übrigens auf der mysensor Seite auch .. zumindest die für Anfänger.

                                          Den gesamten Code von MaxTox habe ich runtergeladen und habe Productiv_V1 auch compilieren und auf meinen Mega aufspielen können. Die Einstellungen an Gateway, IP, etc. habe ich gemacht und ich sehe im Log des IO-brockers auch, dass es zu einer Verbindung kommt. Aber ich sehe keine Nodes / Sensoren ... Die entsprechende Sensoren (Array im Sketch) habe ich angepasst .. aber es tut sich nichts.

                                          Was ist noch zu tun ? Muss ich ggf. noch was von der Codeauftreilung der verschiedenen *.ino Dateien etwas in den Hauptsketch übernehmen ? Über etwas Hilfe / Anleitung / how to wäre ich dankbar ... wenn das Ganze wirklich funtioniert was es verspricht scheint es relativ genial zu sein ... 🙂

                                          Vielleicht kann MaxTox für etwas Anfänger know how transfer sorgen ?

                                          Gruß

                                          Bönne

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Maxtox last edited by

                                            HI…

                                            lass uns doch so machen... ich helfe dir und du schreibst HowTo!

                                            Bin gerade in anderen projekten stark drina, also mit der Zeit ist es ziemlich knapp... aber System läuft bei mir 100%!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            765
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            43
                                            13245
                                            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