Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wie den CULstick im iobroker installieren? (für MAX!CUL)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie den CULstick im iobroker installieren? (für MAX!CUL)

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

      Hi, wo finde ich denn eine generelle Anleitung wie ich den CULstick in den iobroker integriere.

      Ich hatte den stick vor Jahren auf nem fhem system genutz, bin aber nicht sicher wie ich beim iobroker starte (bzw. beim fhem gestartet bin). Ich habe nichts gefunden im Forum oder bei Youtube. Kann mit jemand einen Hinweis geben oder ist es so offensichtlich das diese Frage einfach nicht notwendig ist?

      Nach dem anschließen an meinen Pi3 habe ich über lsusb folgenden Eintrag gefunden:

      Bus 001 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT 232 Serial (UART) IC

      und über ls -l /dev/serial/by-id :

      lrwxrwxrwx 1 root root 13 Sep 22 09:26 usb-FTDI_FT232R_USB_UART_AL02VDM7-if00-port0 -> ../../ttyUSB0

      Den Stick habe ich seiner zeit in der Bucht gekauft. Aktuel leuchtet er rot auf der einen und blau auf der anderen Seite. Es ist glaube ich ein nanocul.

      1 Reply Last reply Reply Quote 0
      • I
        ignis-draco last edited by

        Hi, wenn bei dem Stick alles richtig gemacht wurde müsstest du nur den max! cul Adapter installieren dort das passende device (bei dir wohl "/dev/ttyUSB0") einstellen mit 38400 Baut und es sollte alles gehen.

        Falls nicht solltest du die Rechte für den USB Stick überprüfen.
        Bei mir ist des Device in der Gruppe "dailout" und der IoBroker User auch.

        Zum Vergleich:

        >ls -la /dev/ttypUSB0 
        crw-rw---- 1 root dialout 188, 0 Sep 22 11:37 /dev/ttyUSB0
        
        
        >id iobroker
        uid=1001(iobroker) gid=1001(iobroker) groups=1001(iobroker),5(tty),20(dialout),29(audio),44(video),112(bluetooth),998(i2c),997(gpio)
        
        

        Wichtig ist das der Benutzer IoBroker in der passende Gruppe ist.

        P.S. denk an einen Reboot wenn du dem Benutzer eine neue Gruppe hinzugefügt hast.

        P 1 Reply Last reply Reply Quote 0
        • P
          postworld @ignis-draco last edited by

          @ignis-draco

          Danke für die schnelle Antwort die ich aber erst vor ein paar Minuten gesehen habe.

          Ich habe >ls -la /dev/ttypUSB0 eingegeben aber nur eine Fehlermeldung erhalten:

          ls: Zugriff auf '/dev/ttypUSB0' nicht möglich: Datei oder Verzeichnis nicht gefunden

          bei idbroker sieht es aber genauso aus:

          uid=1001(iobroker) gid=1001(iobroker) Gruppen=1001(iobroker),5(tty),20(dialout),29(audio),44(video),112(bluetooth),998(i2c),997(gpio)

          Die Baudrate habe ich nochmal angepasst und die Basisadresse wieder auf "123456" zurück gestellt im Max!Cul adapter. Dieser ist auch grün geworden, ganz verstanden warum habe ich aber nicht.

          Der CULstick muss also nicht noch irgendwie installiert und configuriert werden?

          Es scheint nun grundsätzlich zu funktionieren, ich sehe einen Ordner für den CUL und auch ein erstes MAX! Heizungsthermostat, welches aber noch keinen Wert angenommen hat den ich gesendet habe.

          Fast alle Werte stehen auf (Null). Der "desiredTemperature" Wert gibt nach einiger Zeit den Wert aus den ich am Drehrad eingestellt habe, spring aber auf 10,0°C wenn ich einen Wert dort eintrage.

          Na mal sehen, was ich dazu finde 🙂

          1 Reply Last reply Reply Quote 0
          • I
            ignis-draco last edited by ignis-draco

            Okay wenn die auftauchen ist das schon mal klasse.
            Was steht bei dir in maxcul.0.info.version ? Je nachdem wie alt die Version ist macht es vielleicht Sinn den Stick auf die neuste Version zu bringen.

            Zu dem anderen Problem. Ich vermute mal das der Eintrag unter maxcul.0 so etwas wie 123456 ist und nicht
            KEQ1234567, KDM1234567 oder OEQ1234567 habe ich recht ?

            Wenn das der Fall ist bedeutet das, dass der Stick die Pakete nur mit liest aber nicht mit dem Endgerät gepaart ist.
            Das ist leider das schwerste bei dem ganzen Kram ich habe ein paar Tage gebraucht bis das bei mir geklappt hat.
            Ich meine mich zu erinnern das man das Gerät erst auf Werkseinstellung zurück setzten musste und dann mit dem CUl stick verbinden muss es gibt den Daten Punkt "maxcul.0.info.enablePairingMode" damit kann man das Anschalten.
            Ich würde sicherheitshalber immer nur ein Gerät verbinden und achte auf maxcul.0.info.limitOverflow wenn du viele Geräte anmelden willst dann ist das Sende Limit nämlich ganz schnell erreicht.

            Ach noch was wunder dich nicht wann nach dem Anmelden in z.b. config.ecoTemperature keine Werte stehen.
            Bei mir wurden die damals nicht ausgelesen somit musste ich die für jedes Thermostat einzeln setzen.
            Da mit das per Hand zu blöd war habe ich ein Skript geschrieben. Leider habe ich die Überwachung von dem limitOverflow nicht mit eingebaut somit musst du vor dem Starten prüfen ob da alles okay ist und es am besten nach dem du ein Gerät angelernt hast Starten. Es setzt die Werte nämlich nur bei "neuen" Geräten und die schon eingerichteten werden ignoriert.

            function fristInit(){
                var deviceToSetup = [];
                let selector = $('channel[state.id=maxcul.0.*.ecoTemperature]');
                selector.each(function (id, i) {
                    let device = id.split(".")[2]
                    if (device.search("KEQ") == -1){
                        console.log("not Paired device: " + device);
                    }else{
                        console.log("Paired device: " + device);
                        if (getState(id).val != 18){
                            console.log("setup new :" + device);
                            deviceToSetup.push(device);
                        }
                    }
                }); 
                const ecoTemperature = 18;
                const comfortTemperature = 20;
                const minimumTemperature = 12;
                const maximumTemperature = 24;
                const windowOpenTemperature = 12;
                const boostDuration = 3;
                const boostValvePosition = 80;
                const decalcificationDay = 0;
                const decalcificationHour = 13;
                const maxValveSetting = 100;
                
                const path_begin = "maxcul.0.";
            
                for(let i = 0; i < deviceToSetup.length; i++){
                    let path = path_begin + deviceToSetup[i];
                    setState(path + ".config.ecoTemperature", ecoTemperature);
                    setState(path + ".config.comfortTemperature",comfortTemperature);
                    setState(path + ".config.windowOpenTemperature",windowOpenTemperature);
                    setState(path + ".config.minimumTemperature",minimumTemperature);
                    setState(path + ".config.maximumTemperature",maximumTemperature);
            
                    setState(path + ".valveConfig.boostDuration", boostDuration);
                    setState(path + ".valveConfig.boostValvePosition", boostValvePosition);
                    setState(path + ".valveConfig.decalcificationDay", decalcificationDay);
                    setState(path + ".valveConfig.decalcificationHour", decalcificationHour);
                    setState(path + ".valveConfig.maxValveSetting", maxValveSetting);
            
                    setState(path + ".weekProfile._0_saturday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._0_saturday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._0_saturday.send_0_saturday", true);
                    
            
                    setState(path + ".weekProfile._1_sunday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._1_sunday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._1_sunday.send_1_sunday", true);
            
                    setState(path + ".weekProfile._2_monday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._2_monday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._2_monday.send_2_monday", true);
            
                    setState(path + ".weekProfile._3_tuesday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._3_tuesday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._3_tuesday.send_3_tuesday", true);
            
                    setState(path + ".weekProfile._4_wednesday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._4_wednesday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._4_wednesday.send_4_wednesday", true);
            
                    setState(path + ".weekProfile._5_thursday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._5_thursday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._5_thursday.send_5_thursday", true);
            
                    setState(path + ".weekProfile._6_friday._01_setPointTemp", ecoTemperature);
                    setState(path + ".weekProfile._6_friday._01_setPointUntilTime", "24:00");
                    setState(path + ".weekProfile._6_friday.send_6_friday", true);
                }
            }
            
            fristInit()
            
            

            P 1 Reply Last reply Reply Quote 0
            • P
              postworld @ignis-draco last edited by postworld

              @ignis-draco said in Wie den CULstick im iobroker installieren? (für MAX!CUL):

              unter

              Das geht ja schnell hier 🙂

              Ich habe due Baudrate auf 9600 herunter gesetzt, hat aber keinen merklichen Effekt. Wießt du wie man die "korrekte" Baudrate ermittelt? Ich habe verschiedene Werte im Forum gelesen.

              Was steht bei dir in maxcul.0.info.version ?
              V 1.67 nanoCUL868

              Zu dem anderen Problem. Ich vermute mal das der Eintrag unter maxcul.0 so etwas wie 123456 ist und nicht
              KEQ1234567, KDM1234567 oder OEQ1234567 habe ich recht ?

              "_id": "maxcul.0.MEQ1461227", .. dieser Name (ID) steht in den Objekten unter maxcul.0

              In fhem seiner zeit ging das eingeltlich gut mit dem Verbinden, meine ich mich zu erinnern.
              Ich habe die Thermostate nicht restet, vielleicht ist das notwendig. Aktuell habe ich nur 1 Thermorstat angeschlossen, um erstmal zu testen.

              Noch ein Frage des Unwissenden, wie benutzt man denn so nen Skript? Und was genau macht es, bzw. wieso sollten die Werte gesetzt werden?

              I 1 Reply Last reply Reply Quote 0
              • I
                ignis-draco @postworld last edited by

                @postworld said in Wie den CULstick im iobroker installieren? (für MAX!CUL):

                Ich habe due Baudrate auf 9600 herunter gesetzt, hat aber keinen merklichen Effekt. Wießt du wie man die "korrekte" Baudrate ermittelt? Ich habe verschiedene Werte im Forum gelesen.

                Das sollte mit 9600 passen. Wenn es die Falsche ist kann er keine Geräte finde.

                Was steht bei dir in maxcul.0.info.version ?
                V 1.67 nanoCUL868

                Das ist auch okay. bzw. ich habe die gleiche Version

                Zu dem anderen Problem. Ich vermute mal das der Eintrag unter maxcul.0 so etwas wie 123456 ist und nicht
                KEQ1234567, KDM1234567 oder OEQ1234567 habe ich recht ?
                "_id": "maxcul.0.MEQ1461227", .. dieser Name (ID) steht in den Objekten unter maxcul.0

                Das hast du es aber ja angelernt das ist schon mal gut. Wenn es aber immer noch das Problem gibt das du desiredTemperature nicht setzen kannst würde ich es mit dem Reset mal versuchen.

                In fhem seiner zeit ging das eingeltlich gut mit dem Verbinden, meine ich mich zu erinnern.
                Ich habe die Thermostate nicht restet, vielleicht ist das notwendig. Aktuell habe ich nur 1 Thermorstat angeschlossen, um erstmal zu testen.
                Noch ein Frage des Unwissenden, wie benutzt man denn so nen Skript? Und was genau macht es, bzw. wieso sollten die Werte gesetzt werden?

                Also das Ist ein JavaSkript das du einfach in eine neue Datei im JS Adapter Kopieren kannst. Du musst das natürlich nicht machen und kannst die Werte per Hand setzten.
                Ich bin mir nicht sicher ob der Cul Stick nur die Werte nicht auslesen kann oder ob man nach einem Reset sie erst setzten muss. Mir war es wichtig das so etwas wie Fenster offen-, Eco- , Komfort-Temperatur richtig gesetzt sind.
                Bei einem Thermostat macht es vielleicht Sinn die Werte per Hand zu setzten.

                config.comfortTemperature  =20
                config.ecoTemperature = 18
                config.maximumTemperature =24
                config.minimumTemperature =12
                config.windowOpenTemperature =12
                valveConfig.boostDuration = 3
                valveConfig.boostValvePosition  = 80
                valveConfig.decalcificationDay = 0 
                valveConfig.decalcificationHour = 13
                valveConfig.maxValveSetting = 100
                

                Zu dem wird für jeden Tag im Wochen Programm ein Wert eingetragen:

                _01_setPointTemp  = 18
                _01_setPointUntilTime = 24:00
                send_0_saturday = True 
                

                Mach als insgesamt 31 Werte pro Thermostat da war ich dann bei 6 Teilen einfach viel zu faul für.

                P ? 2 Replies Last reply Reply Quote 0
                • P
                  postworld @ignis-draco last edited by

                  @ignis-draco

                  Danke für dei Tipps, also 31 Werte pro Thermostat ist wirklich viel geklicke und getippe.

                  Ich habe mit der manuellen Konfiguration begonnen, ich weiß nicht ob ich die Wochepläne nutzen möchte oder ob ich es nicht besser ist über eine direkte Steuerung zu gehen, also manuell bzw. mit einem Java/Blockly Skript.

                  Über die Skripte kann ich ja Abwesenheit/Anwesenheit einbinden, sowie ich auch überlege über den Öffnungsgrad der Ventile und mit den vorhandenen Aquara Temperatursensoren die Regelung zu übernehmen anstatt über die Thermostate selbst.

                  Generell habe ich gerade ein Thermostat was keine Befehle annimmt bzw. den Wert anders setzt als ich es gesendet habe. Heute früh hat es noch immer zwischen 10 und 25 °C hin und her gewechselt, erst dachte ich es liegt an der entfernung zum CUL aber das hat keine Auswirkung gehabt. Nach dem ersten Reset keine Besserung, also habe ich es nochmal gelöscht im iobroker und nochmal resetet.

                  Da mir aktuell noch 2 weitere Thermostate fehlen um alle Heizkörper auszustatten und 1 ja gerade spinnt, was dann 3 fehlende und 3 vorhandene machen würde überlege ich auch ob ein Wechsel auf Zigbee fähige Thermostate besser wäre.

                  1 Reply Last reply Reply Quote 0
                  • I
                    ignis-draco last edited by

                    Da man diese Thermostat nicht mehr neu kaufen kann würde ich persönliche sie nicht mehr kaufen.
                    Und ich denke das Zigbee da wirklich der bessere Funkstandard ist besonders wenn man dran denkt das man mit Lampen oder Zwischenstecker den Empfangsbereich drastisch erweitern kann. Zu dem hat man dann kein Problem mit limitOverflow.
                    Beim Tages Programm am Abend in die 6 Thermostate zu laden dauert schon so ein paar Minuten weil er immer warten muss.

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      postworld @ignis-draco last edited by

                      @ignis-draco said in Wie den CULstick im iobroker installieren? (für MAX!CUL):

                      Da man diese Thermostat nicht mehr neu kaufen kann würde ich persönliche sie nicht mehr kaufen.

                      Hi, ich habe wahscheinlich noch ien paar Thermostate auftreiben können, bei einem Bekannten, mal sehen ob er sie findet. Dann wäre ich wieder voll ausgestattet.

                      Die Suche nach Zigbee fähigen Thermostaten war nicht sonderlich erfolgreich, Design uns Preis haben bis jetzt nicht überzeugt. Der Fokus scheint eher bei der Optik als bei der Funktion zu liegen bei diesen Geräten, mal sehen.

                      Ich habe noch eine Frage, steuerst du deine MAX! auch über Alexa? Ich habe es vorhin getestet aber Alexa sagt immer das etwas schief gelaufen ist obwohl die Werte übermittelt werden.
                      Ich habe MAX! und ein Aquara Thermostat direkt im iot dem "Wohnzimmer" zugeordnet, das Thermostat was vorher gut funktionierte sagt nun nur noch sonderbare Temperaturen an, erst 100, dann 0°C.

                      Ich trenne die Geräte nochmal, mal sehen.

                      G 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @ignis-draco last edited by A Former User

                        @ignis-draco sagte in Wie den CULstick im iobroker installieren? (für MAX!CUL):

                        @postworld said in Wie den CULstick im iobroker installieren? (für MAX!CUL):

                        Ich habe due Baudrate auf 9600 herunter gesetzt, hat aber keinen merklichen Effekt.

                        @postworld und @ignis-drago:

                        Für CUL FW Version: V 1.67 nanoCUL868 ist die richtige Baurate 38400

                        Das steht so auch in der Selbstbau Wiki beschrieben....

                        d7914954-6d3a-4b5c-baf8-db5e37a78606-grafik.png

                        a2b48619-285d-45c2-b35c-2df4bf308a3f-grafik.png

                        und den Port habe ich dort eingetragen. Damit er auch immer richtig gefunden wird.
                        Vor allem wenn mehrere USB Ports genutzt werden.

                        1 Reply Last reply Reply Quote 0
                        • G
                          guergen @postworld last edited by guergen

                          @postworld Ich habe meinen auf 9600 stehen, ist aber auch ein V1.61 CUL868. Zum pairen musst du nur maxcul.0.info.enablePairingMode auf true stellen, dann kommen die Werte rein

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            postworld @guergen last edited by

                            @guergen

                            Danke für die Infos, mein anfängliches Problem war das ich nicht wußte das man den CULStick nicht sperat installieren muss, weil es aber an vielen Stellen als erstes stand, "CUL Stick installier" hat mich das verwirrt.

                            Steuert jemand die MAX! mit Alexa und hat dabei auch Probleme?

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              guergen @postworld last edited by

                              @postworld Ich kann die Max!-Thermostate steuern, ohne Probleme

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @guergen last edited by A Former User

                                Finde ich schon etwas seltsam, das die Baudrate mit 9600 geht.
                                Ein NanoCul fordert 38400. Ob selbst gebaut oder fertig gekauft.
                                Hier ein Zitat aus dem Selbstbau Thema:

                                "Bevor der Selbstbau CUL mit XXXXX verwendet wird, kann man noch eine Funktionskontrolle mit Hilfe eines Terminalprogramms wie screen, picocom, cutecom oder minicom vornehmen. Dabei müssen die Kommunikationsparameter 38400/8N1 sein."

                                Schon allein eine serielle Ausgabe über ein WindowsTerminal würde bei 9600 nur Müll bringen.
                                Selbst getestet....

                                Ich lass mich auch eines besseren belehren......

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  guergen @Guest last edited by

                                  @menne Ich weiss ja nicht, ob es an meiner Version liegt: V1.61 CUL868
                                  Aber er läuft mit beiden Baudraten zuverlässig. Habe es getestet nachdem Du das oben geschrieben hast.

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

                                    HI,

                                    ich bin nun auch wieder bei38400 baud, das funktioniert wunderbar.

                                    Mein Problem bleibt das ich nicht weiß wie ich Alexa am besten beibringe das die Thermostate am Heizkörper die nur einen Wert empfangen sollen und die Aquara Sensoren den Wert der Raumtemperatur senden.

                                    Hat dafür jemand eine Lösung? Wenn ich beide Geräte z.B. bei Alexa (iot.0) im "Wohnzimmer" einbinde, als "Thermostat" einbinde, dann bekomme ich auf die Frage wie die Temperatur im Wohnzimmer ist keine sinnvollen Werte mehr, sondern zuletzt mal 100°C oder auch mal 0°C. Die Thermostate am heizkörper werden geschaltet, wenn ich Alexa das sage aber Alexa antwortet immer mit " Ich weiß nicht was da schief gelaufen ist" .. der Wert wird aber gesetzt.

                                    Hat jemand das gleich Problem? (und eine Lösung?)

                                    Ich überlege es mit Datenunkten zu lösen, die ich anstatt der Geräte selbst einbinde.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    944
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    16
                                    1045
                                    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