[geklaert] Ist die Erklärung in der Einführung zu dummies korrekt?

Begonnen von andies, 12 März 2018, 07:22:26

Vorheriges Thema - Nächstes Thema

andies

Ich habe eine Frage zu den dummies, die in der Einführung erklärt werden. Dort richtet man einen dummy ein und wenn man webCmd definiert, kann man da (anscheinend) bereits schalten. Ich möchte nun auch einen dummy einrichten, will aber kein Icon verwenden und bin daher wie folgt vorgegangen:
defmod Viessmann_Schalter dummy
attr Viessmann_Schalter webCmd Heizung_an:Heizung_aus


Damit erscheinen auch die beiden Kommandos auf der Webseite. Weiter habe ich zwei notifys definiert

defmod Viessmann_an notify Viessmann_Schalter:Heizung_ein  set Viessmann M1_1Mo_ein;;set Viessmann M1_2Di_ein;;set Viessmann M1_3Mi_ein...

und
defmod Viessmann_aus notify Viessmann_Schalter:Heizung_aus  set Viessmann M1_1Mo_aus;;set Viessmann M1_2Di_aus;;set Viessmann M1_3Mi_aus...

wobei ich die Einzelbefehle vorab auch getestet habe, das klappt. Wenn ich nun im FHEMWEB auf Heizung_an oder auf Heizung_aus drücke, passiert aber gar nichts. Was habe ich denn da vergessen? In der Einleitung liest sich das so, als ob das reicht. Auch die Forumseiten zu setlist etc haben mir da einfach nicht weitergeholfen.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

MadMax-FHEM

Wenn dein webCmd Heizung_an heißt, dein Notify aber auf Heizung_ein reagieren soll wird das nicht gehen können...

Evtl. brauchst du auch ein passendes setList...

Und Notify geht am einfachsten, wenn du parallel den Eventmonitor öffnest das webCmd auslöst, schaust welcher Event kommt und den dann markierst und mittels modify/create das Notify anlegen lässt und weiter anpasst...

Kurz, da nur Handy...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

andies

Danke, grossartiger Fehler. Betriebsblind.

Was genau macht setlist? Das erzeugt doch die set-Befehle, aber brauche ich die denn? Wuerde denn nicht das notify alleine genuegen?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Wernieman

Mal eine andere Frage ... warum machst Du 3 set Befehle und nicht einen?
set Viessmann M1_1Mo_ein Viessmann M1_2Di_ein set Viessmann M1_3Mi_ein

Wobei mir dabei einfällt, Du hast zwar ein set definiert, diesen aber nach Deinen Angaben nicht komplett, d.h. eigentlich "set device status", bei Dir sehe ich nur "set defice" ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

andies

Zitat von: Wernieman am 12 März 2018, 08:19:24
Mal eine andere Frage ... warum machst Du 3 set Befehle und nicht einen?
set Viessmann M1_1Mo_ein Viessmann M1_2Di_ein set Viessmann M1_3Mi_ein
Oh, ich wusste nicht dass so etwas geht?!

Zitat von: Wernieman am 12 März 2018, 08:19:24
Wobei mir dabei einfällt, Du hast zwar ein set definiert, diesen aber nach Deinen Angaben nicht komplett, d.h. eigentlich "set device status", bei Dir sehe ich nur "set defice" ...
Das verstehe ich nicht genau? Fehlt da ein Attribut? Welches?



Gesendet von iPhone mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Zrrronggg!

Ich habe das jetzt nur überfolgen aber im ersten Post fehlt mir auf:

attr Viessmann_Schalter webCmd Heizung_an:Heizung_aus

defmod Viessmann_an notify Viessmann_Schalter:Heizung_ein 

Heizung_an =! Heizung_ein 


Ausserdem sieht das hier Fischy aus:

Zitatset Viessmann M1_1Mo_ein;;set Viessmann M1_2Di_ein;;set Viessmann M1_3Mi_ein



Allgmein:
set Geraet on
set Lampe an
set gerat off

etc., je nach dem.

Bei dir wäre also das Gerät "Viessmann" und der Schaltbefehl ist z.B. "M1_1Mo_ein", Stimmt das so?
Ich kann mir das Konstrukt dahinter nicht recht vorstellen, bzw. nur ggf überkomplizierte Dinge

Kann aber trotzdem korrekt sein, wenn du tatsächlich Dinge definiert hast, die auf "M1_1Mo_ein" als String reagieren.




Ferner: Legst du deffines immer mit "defmod" an?  Würd ich nicht machen. Wenn es schon eines mit dem Namen gibt und du hast das vergessen oder so, dann wird das ohne Fehlermeldung überschrieben. Für Neuanlange würde ich immer "define" nehmen.Tut der Funkton aber keinen Abruch.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

MadMax-FHEM

@Zrrronggg!: defmod kommt vermutlich durch kopieren der "RawDefinition" und passt schon...

Ich habe mal einen Dummy angelegt nur mit webCmd und bei mir funktioniert das mittels Notify problemlos...

...auch ohne setList.

Durch setList hast du neben den webCmd wo du klicken kannst eben auch die Möglichkeit set-Befehle per Dropdown zu haben.

Nachzulesen auch hier, was genau mittels setList gegeben ist: https://fhem.de/commandref_DE.html#DOIF_setList__readingList

Äh war jetzt noch etwas oder funktioniert es?

Wenn es nun geht, dann bitte auf gelöst setzen, umbenennen in beispielsweise [gelöst] Ist die Erklärung in der Einführung zu dummies korrekt?

Wenn nicht, dann bitte (noch mal) mitteilen was (noch immer) nicht geht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

andies

Jein. Ich habe deinen Rat befolgt und das noch einmal umgestellt und teste es gleich mal. Mein Problem hat eher mit der commandref zu tun. Dort lese ich
ZitatFHEMWEB - webCmd
Durch Doppelpunkte getrennte Auflistung von Befehlen, die für ein bestimmtes Gerät gelten sollen.
und ich frage mich, was genau der Unterschied oder die Gemeinsamkeit mit setlist ist:
ZitatDummy - setlist
Eine durch Leerzeichen getrennte Liste von Befehlen, die zurückgegeben werden "set name ?", Das FHEMWEB-Frontend kann also ein Dropdown-Menü erstellen und An / Aus-Schalter anbieten.
Machen beide nun das Gleiche? Oder ist das verschieden? Ich "sehe", dass bei webcmd ein Link erscheint, bei setlist ein button angeklickt werden kann. Ist das der Unterschied? Aber die beiden koennten sich doch in die Quere kommen, oder nicht? Mir ist da die Erlaeuterung (auch im Forum) etwas zu duerftig.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

Aus diesem dummy und den zwei notify könnte man auch einen DOIF machen.
Wäre schlanker und übersichtlicher.

Mit dem Handy online, daher kurz gefasst...


andies

Ja aber wie wird das ausgeloest? Ich brauche ja so etwas wie einen Schalter?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

Zitat von: andies am 13 März 2018, 07:17:33
Ja aber wie wird das ausgeloest? Ich brauche ja so etwas wie einen Schalter?
Genauso über webCmd.
Ich bastel dir nachher den Code.
Muss jetzt aber erstmal los zum Büro.

Mit dem Handy online, daher kurz gefasst...


andies

Zitat von: Zrrronggg! am 12 März 2018, 12:51:44
Bei dir wäre also das Gerät "Viessmann" und der Schaltbefehl ist z.B. "M1_1Mo_ein", Stimmt das so?
Ja, das stimmt wirklich. Ich habe das Modul ja selbst geschrieben und der Befehl lautet wirklich
set Viessmann <string>
wobei der <string> dann in einer konfig-Datei liegt und abgeglichen wird. In der selben Zeile, in der der <string> steht, findet sich dann der Befehl, der via telnet ausgeloest werden soll. Die Bezeichungen mit dem Heizkreisen M1 und M2 sowie den Wochentagen habe ich mir ausgedacht, weil ich das systematisch in meiner Anzeige haben wollte.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

als DOIF:
defmod Viessmann_Schalter DOIF (aaa) (set Viessmann M1_1Mo_ein)(set Viessmann M1_2Di_ein)(set Viessmann M1_3Mi_ein)
DOELSEIF (bbb) (set Viessmann M1_1Mo_aus)(set Viessmann M1_2Di_aus)(set Viessmann M1_3Mi_aus)
attr Viessmann_Schalter do always
attr Viessmann_Schalter cmdState Heizung_an|Heizung_aus
attr Viessmann_Schalter webCmd Heizung_an:Heizung_aus


deine Set Befehle sind aber vom Syntax her falsch.
Die musst noch korrigieren.

Ich hab die einzelnen Befehe in einzelne Ausführungsblöcke (Klammern) gepackt. damit hast die Möglichkeit diese bei Bedarf mit dem Wait Attribut zu verzögern.

andies

Problem gefunden: Mein Modul erlaubt keine Ausfuehrung von mehreren Befehlen hintereinander. Das muss ich in einem anderen thread (er)klaeren.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann