stefanbode / Sonoff-Tasmota

Provide ESP8266 based itead Sonoff with Web, MQTT and OTA firmware using Arduino IDE, enhanced with I2C options
GNU General Public License v3.0
127 stars 41 forks source link

Strange behaviour with latest fw 6.5.0.11 stb-1.5 in Shutter mode #148

Closed x23piracy closed 5 years ago

x23piracy commented 5 years ago

Hi,

first i was using regular tasmota but i was interested in the step stuff (shelly2). both regular and stefanbode tasmote worked normally without shutter mode, now since i enabled:

when i now try to fully close (webif or console "shutterposition") it starts running and on its way it stops 3 times (relay off/on "click,clack") and fully closes.

When i now try to open with the shutter (webif) lets say half it only runs short and opens for example 10-15%, after that i cannot open the shutter more with the webif or with the physical switches, the only thing thats working is to use my iphone with home connected via homebridge issuing a mqtt command to open, it will only open in steps it starts opening and after some rolling it turns off, i repeat this 4-5 times until its fully opened again.

I really don't understand this afai can see i understand the options but this is really strange, can someone help me please? I was thinking of disabling shutter mode and just use full open and close with only pulsetime with propper values but i really like the steps thing and maybe i am stupid or something is messed up.

Btw. SHUTTER50PERCENT is currently on default [50]

Help please.

Regards X23

x23piracy commented 5 years ago

@stefanbode is there a way to get in touch with you outside of github? Wir sind glaube ich beide Muttersprachler :)

Regards X23

stefanbode commented 5 years ago

Ja, aber ich sitze gleich wieder im Flieger. Ich sehe was von Pulse…shutter. Ggf wiki mal lesen

x23piracy commented 5 years ago

Hi,

das Wiki habe ich was das Thema angeht rauf und runter gelesen, ich habe hier einfach einen Zustand mit dem Shelly2 den ich nicht nachvollziehen kann und dachte ich suche deine direkte Hilfe :)

Das kann gerne warten, guten Flug. Vielleicht hast du ja die Tage mal einen Moment dafür.

Gruß Jens

stefanbode commented 5 years ago

Hast du denn einen shutter, der nur den Pulse bekommt oder ist das Ein Standard Rollo, welcher Strom bekommt, wenn er sich bewegen soll. Schau dir auch mal das log in der webconsole an. Ggf hier mal senden. Weblog 5 zeigt die auch an wer oder was die relay schaltet. Beim INTERLOCK fehlt noch ein INTERLOCK 1,2 Das ist notwendig bei den normalen relay, dass du nicht rauf und runter gleichzeitig auslösen kannst. Das Weblog gerne auch hier posten mit ein paar Kommentaren.

stefanbode commented 5 years ago

Pulsetime muss 0 sein auf beide. Relay, wenn du ein normales Rollo hast. Aktuell halte ich den fehlenden interlock für das Problem

x23piracy commented 5 years ago

Hi,

ich kann heute Abend wenn ich zuhause bin das ganze nochmal probieren. Ich hab doch oben beschrieben das ich zuerst die normale Tasmota benutzt hab. Die hat ja keinen Shutter mode da habe ich dann mit Interlock und Pulsetime gearbeitet, das ging perfekt und dabei gehts ja nur um ganz rauf und ganz runter.

Dann habe ich deine FW probiert (selbst compiliert), hier habe ich dann den shutter mode aktiviert (siehe Eingangspost) ich habe alles gemacht was im Wiki steht aber das Ding reagiert leider völlig anders.

Ich weiß nicht was ich nun tun soll, Flash löschen und einmal neu flashen mit default Settings, vielleicht habe ich ja was verstellt.

Mein Rollo Motor braucht dauerhaft Strom das ist kein Impuls ding. Am Shelly sind auch noch die ganz normalen Rolloschalter mit angeschlossen, dass funktioniert auch ich kann entweder per mqtt, per schalter oder per tasmota webif was bewegen aber die shutterposition scheint irgendwie durcheinander zu kommen und das ding macht bei einer vollen Schließfahrt 3 mal einen mikro stop relay aus/an. das ist schon sehr merkwürdig denn die SHUTTERCLOSETIME ist definitiv nicht erreicht und wieso sollte er danach auch sofort wieder einschalten und weiterfahren... Irgendwas ist sehr komisch :)

Gruß Jens

x23piracy commented 5 years ago

Hi,

so ist es schon die ganze Zeit bei mir eingestellt:

18:09:01 CMD: pulsetime1 18:09:01 MQT: stat/shelly2-134F5C/RESULT = {"PulseTime1":"0 (Active 0)"} 18:09:04 CMD: pulsetime2 18:09:04 MQT: stat/shelly2-134F5C/RESULT = {"PulseTime2":"0 (Active 0)"} 18:09:06 CMD: interlock 18:09:06 MQT: stat/shelly2-134F5C/RESULT = {"Interlock":"ON","Groups":"1,2"} 18:09:19 CMD: shutteropenduration 18:09:19 MQT: stat/shelly2-134F5C/RESULT = {"shutteropenduration1":"27.0"} 18:09:23 CMD: shuttercloseduration 18:09:23 MQT: stat/shelly2-134F5C/RESULT = {"shuttercloseduration1":"25.0"} 18:09:56 CMD: setoption80 18:09:56 MQT: stat/shelly2-134F5C/RESULT = {"SetOption80":"ON"} 18:10:04 CMD: setoption81 18:10:04 MQT: stat/shelly2-134F5C/RESULT = {"SetOption81":"ON"} 18:13:27 CMD: shutter50percent 18:13:27 MQT: stat/shelly2-134F5C/RESULT = {"shutter50percent1":50}

Ich hab ein Rollo das Dauerstrom zum laufen braucht, wie gesagt ich hab physikalische Schalter die am Shelly angeschlossen sind, dass klappt auch. Im Webif oder per Schalter kann ich rauf und runterfahren und wenn die Teleperiod durch ist gibts auch Feedback (300 ist halt echt lang, ich habs Testweise auf 10 gehabt). Bediene ich übrigens den Shelly per MQTT via Homebridge habe ich das Gefühl der Shutter Status (Position) wird nie aktualisiert. Benutze ich den physikalischen Schalter aktualisiert sich nach der teleperiod auch der Schieber im Webif.

Ich mach Notfalls auch ein Video was das Rollo so treibt.

Gruß Jens

x23piracy commented 5 years ago

Hi,

plötzlich funktioniert der Spaß! Und jetzt das scheinbar Entscheidende, die teleperiod war auf 10, die habe ich mal wieder auf 300 gestellt und die probleme sind weg.

Kann es sein das ein teleperiod durchlauf dazu führt? aber wie kann ne sw status info zum kurzfristigen ausschalten und direktem wiedereinschalten bei einem relay führen?

Rechnerisch passen in Anbetracht meiner vollen Laufzeiten (27 Sekunden rauf und 25 Sekunden runter) 3 Unterbrechungen doch ziemlich gut ins Bild wenn das Timing passt.

Beispiel:

Nächste TP ist in 3 Sek. + 10 Sek. + 10 Sek. macht 23 das ist schon verdächtig. Vielleicht ein potenzieller Bug oder verstehe an TP etwas falsch, dass sind doch nur Status Infos zum aktuellen Zustand oder nicht?

Wenn ich hier richtig liege wäre die logische Konsequenz ja, sende keine TP bei Laufzeit.

Hmm

Btw. bitte noch eine Frage, ich versuche diese Shelly2 mit homebridge mqtt blinds ans laufen zu bekommen, das klappt auch schon aber ich bekommen keinen Status in homebridge zurückgemeldet, Auf Positionen fahren ist kein Problem das klappt also einseitige Kommunikation.

Ich versteht das mit den topics scheinbar nicht richtig. Hier das Beispiel aus dem mqtt blinds project:

{ "accessories": [{ "accessory": "BlindsMQTT", "name": "Living Room Blind", "manufacturer": "Allterco", "model": "Shelly2", "serialNumberMAC": "01.01.01.01", "mqttBrokerUrl": "mqtt://192.168.0.10:1883", "mqttUsername": "username", "mqttPassword": "password", "mqttMainTopic": "shellies/shellyswitch-/roller", "mqttSetTopics": { "targetPosition": "0/command/pos" }, "mqttGetTopics": { "currentPosition": "0/pos", "positionState": "0", "targetPosition": "0/dummy" }, "mqttPositionStateValues": ["open", "close", "stop"], "useManualControls": true },

Das habe ich adaptiert zu folgendem:

    {
        "accessory": "BlindsMQTT",
        "name": "Terrassen Test",
        "manufacturer": "Allterco",
        "model": "Shelly2",
        "serialNumberMAC": "01.01.01.01",
        "mqttBrokerUrl": "mqtt://192.168.178.92:1883",
        "mqttUsername": "sonoff",
        "mqttPassword": "passwort",
        "mqttMainTopic": "cmnd/shelly2-134567/",
        "mqttSetTopics": {
          "targetPosition": "cmnd/shelly2-134567/SHUTTERPOSITION"
        },
        "mqttGetTopics": {
          "currentPosition": "cmnd/shelly2-134567/SHUTTERPOSITION",
          "positionState": "stat/shelly2-134567/SHUTTERPOSITION",
          "targetPosition": "cmnd/shelly2-134567/SHUTTERPOSITION"
        },
        "mqttPositionStateValues": ["SHUTTEROPEN", "SHUTTERCLOSE", "SHUTTERSTOP"],
        "useManualControls": true
    },

Irgendwas stimmt hier wohl noch nicht. Kannst du mir da helfen? Also die Position setzen funktioniert aber ich bekomme keine Status in Homebridge. Ich benutze doch bestimmt das falsche Kommande und diese drei Topics irritieren mich currentPosition, positionState und targetPosition klingt für mich fast alles gleich.

Gruß Jens

stefanbode commented 5 years ago

Sehr unwahrscheinlich. Noch nie gesehen. Im log sieht man relativ genau was er wann und warum macht. Setz teleperiod wieder auf 10 und es wird weiter gehen. Schau dir mal an wie die Position an MQTT gemeldet wird. Nach eine stop wird immer die aktuelle Position gemeldet.