FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: morph am 23 Oktober 2016, 10:23:43

Titel: DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 10:23:43
Hi,

ich habe bisher folgende Definiton für mein TV schauen:


define Hifi_on notify Hifi.On {\
            fhem("set PCA_Hifi1 on")};;{\
  fhem("define Time1 at +00:00:03 set PCA_Hifi2 on")};;{\
  fhem("define Time2 at +00:00:06 set PCA_Hifi3 on")};;{\
  }


Damit werden 3 Dosen angeschaltet für die benötigte Hardware dahinter.

Leider wird das nicht zuverlässig geschaltet, trotz der "kleinen Pausen" dazwischen.

Die Überlegung ist, ob nicht ein einfach DOIF dazu gesetzt werden kann, der in etwa sagt:


WENN Knopf Hifi_on gedrückt wird, prüfe nach 9 Sekunden, ob PCA_Hifi1 on ist, wenn nein, setze on, wenn ja,
prüfe ob PCA_Hifi2 on ist, wenn nein, setzte on, wenn ja
prüfe ob PCA_Hifi3 on ist, wenn nein, setze on.


Momentan ist der WAF extrem niedrig, wenn die Schaltung nicht aufs erste mal klappt und dann manuell eine Dose angeschaltet werden muss....

Ist mit sicherheit ein Klacks für einen HTML-Auskenner.. :-(


Danke
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: sash.sc am 23 Oktober 2016, 10:28:21
Guten morgen. Das hat mit html nix zu tun. Wenn geprüft werden soll, ob etwas geschaltet hat, brauchst du einen Rückkanal.

Gruß Sascha

Von mobil gesendet daher kurze Antwort

Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 10:45:05
Hm..

Da jede einzelne Dose ein "state" ausgibt (off oder on) dachte ich, das kann genommen werden um den DOIF zu füttern?
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: sash.sc am 23 Oktober 2016, 12:26:58
ist nur die Frage, ob das state durch den Rückkanal gebildet wird, oder gesetzt wird weil die Dose geschaltet wird, ohne Rückmeldung.

Welche funksteckdosen benutzt du? Firma? Config?

Von mobil gesendet daher kurze Antwort

Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 14:16:22
Es sind PCA301 Dosen.

Würde schon sagen das es da ein Rückkanal gibt?

Denn wenn ich drücke und er schaltet nicht ändert sich auch nich der state.
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: sash.sc am 23 Oktober 2016, 14:36:29
Sieht so aus. Schaue mal in der fhem Wiki nach.

pca301 Wiki (http://www.fhemwiki.de/wiki/PCA301_Funkschaltsteckdose_mit_Energieverbrauchsmessung/)


Von mobil gesendet daher kurze Antwort
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 17:20:15
? da kommt nix :-)
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: sash.sc am 23 Oktober 2016, 17:44:23
Geh mal auf fhemwiki.de und gebe mal in die suche pca301 ein. Die erste Seite die angezeigt wird bitte anschauen.

Gruß Sascha

Von mobil gesendet daher kurze Antwort

Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 18:06:04
äh, ja, gut, und nun brauch ich die DEF für den DOIF... :-)
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: sash.sc am 23 Oktober 2016, 19:12:44
Zitat von: morph am 23 Oktober 2016, 18:06:04
äh, ja, gut, und nun brauch ich die DEF für den DOIF... :-)

Was möchtest du denn genau ? Eine zeitverzögerte Einschaltung von verbrauchern ? Oder mit Statusabfrage ? Oder......?

Gruß
Sascha
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: CoolTux am 23 Oktober 2016, 19:19:41
Wärst Du bitte so nett und verschiebst Deinen Thread. Der passt nicht in Codeschnipsel. Am besten vielleicht zu Anfängerfragen.

Danke
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 23 Oktober 2016, 22:53:45
Zeitverzögert ist sie ja schon.
Aber das bringt nix, weil er die ein oder andere trotzdem sporadisch nicht schaltet.
Der DOIF soll schauen ob er an is und dann ihn entweder anmachen oder zum nächsten gehen.
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 29 November 2016, 08:43:40
immer noch das gleiche problem :-)
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 30 November 2016, 22:50:38
Hat echt keiner solch ein Problem? Verdammt....
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: CBSnake am 01 Dezember 2016, 08:51:34
Moin,
das Problem genau so, haben sicher nicht alle ;-) aber etwas mithelfen musste schon und nicht ungeduldig nach der kompletten Lösung verlangen ;-)

Bin aktuell mobil online. Nachher kann ich dir gerne einen codeschnippsel posten.
Grüße
Achim


Gesendet von meinem SM-P605 mit Tapatalk

Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: Brockmann am 01 Dezember 2016, 09:18:31
In dem Wiki-Artikel zur PCA301 stehen im Abschnitt "Schalten bei Empfangsproblemem erzwingen" zwei fertige Lösungen.
Warum nimmst Du nicht einen davon, anstatt darauf zu warten, dass Dir hier jemand ein DOIF liefert?

Es gibt übrigens ein DOIF-Unterforum, wenn es denn unbedingt ein DOIF sein muss.

Abgesehen davon würde ich prinzipiell eher der Ursache für das unregelmäßige Funktionieren auf den Grund gehen (Empfangsprobleme?) und diese beseitigen, wenn möglich.
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 01 Dezember 2016, 19:58:08
Am Empfang kann es nicht liegen. Das Teil ist keine 2m Sichtlinie weg.

Wie finde ich denn die Ursache für das unregelmäßige funktionieren heraus?

Ich wäre dir dankbar für einen Schnipsel @ Achim
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: CBSnake am 02 Dezember 2016, 07:39:52
Moin,

define Hifi_on doif ([Hifi] eq "On"] and [PCA_Hifi1] eq "off")(set PCA_Hifi1 on) DOELSEIF
            ([PCA_Hifi1] eq "on" and [PCA_Hifi2] eq "off")(set PCA_Hifi2 on) DOELESIF
([PCA_Hifi2] eq "on" and [PCA_Hifi3] eq "off")(set PCA_Hifi3 on) DOELESEIF
([Hifi] eq "Off"] and [PCA_Hifi1] eq "on")(set PCA_Hifi1 off) DOELSEIF
            ([PCA_Hifi1] eq "ff" and [PCA_Hifi2] eq "on")(set PCA_Hifi2 off) DOELESIF
([PCA_Hifi2] eq "off" and [PCA_Hifi3] eq "on")(set PCA_Hifi3 off)


Attribut für das Doif:
Do Always
selftrigger all

ausprobieren wirste trotzdem müssen :-) Dein "On" bei Hifi haste z.b. große geschrieben, die Staus der Dosen sind vermutlich klein geschrieben usw usw, also nicht auf die faule Haut legen und "klappt nicht" ruf ;-)
Das Doif behebt natürlich nicht deine Sende/Empfangsprobleme
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 02 Dezember 2016, 21:01:08
Hi.

Vielen Dan für den Schnipsel.

Ich werde testen. 

Das mit dem einmal groß und einmal klein geschrieben ist mir auch aufgefallen; so funktioniert das ganze aber :-)

Und keine Sorge. Ich Probier da schon rum. Hab mir bisher alles zusammen geklaut und umgeschrieben...

Nur hab ich von html etc. keine Ahnung.. da liegt der Hase begraben... wenn ich mal verstanden hab wie was geschrieben wird kann ich es für meine Zwecke nutzen...

Deshalb auch das mit dem "Empfangsprobleme".  Das können eigentlich keine sein, da das Ding direkt daneben ist. Und wenn mir niemand sagt wie ich das testen kann schaffe ich das wohl auch nicht. 😏
Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: morph am 11 Dezember 2016, 10:51:16
Also gell, die Rechtschreibfehler kannst dir fei nächstes mal sparen....


Ne Schmarrn, vielen vielen dank, das tut genau das was ich wollte!

Hier nochmal in richtig :-)

define Hifi_AN_Test doif

([Hifi]      eq "On"  and     [PCA_Hifi1] eq "off")     (set PCA_Hifi1 on)  DOELSEIF
([PCA_Hifi1] eq "on"  and     [PCA_Hifi2] eq "off")     (set PCA_Hifi2 on)  DOELSEIF
([PCA_Hifi2] eq "on"  and     [PCA_Hifi3] eq "off")     (set PCA_Hifi3 on)  DOELSEIF
([Hifi]      eq "Off" and     [PCA_Hifi1] eq "on")      (set PCA_Hifi1 off) DOELSEIF
([PCA_Hifi1] eq "off" and     [PCA_Hifi2] eq "on")      (set PCA_Hifi2 off) DOELSEIF
([PCA_Hifi2] eq "off" and     [PCA_Hifi3] eq "on")      (set PCA_Hifi3 off)



Zur Erklärung: Ich habe ingesamt 3 Dosen an der "Hifi-Wand", die ich zeitversetzt schalte. Das liegt an immer wieder auftretenden Spannungsspitzen durch einschaltende Netzteile, die dann die Sicherung raushaut.

Da bei mir wohl warum auch immer die Dosen nicht immer für einen 100% WAF geschaltet werden, brauche ich eine unsichtbare Hintergrundüberprüfung, die das für die Frau macht.

"Hifi" ist der dummy, der die 3 Dosen (PCA_HifiXXXXX) Zeitversetzt schaltet.

Titel: Antw:DO IF Abfrage für vorhandenen Schaltbefehl
Beitrag von: CBSnake am 11 Dezember 2016, 11:09:31
Moin,

schön das es klappt ;-)

Gesendet von meinem SM-P605 mit Tapatalk