zwei Schaltimpulse für Intertechno-Steckdosen

Begonnen von JensS, 14 Dezember 2014, 20:17:50

Vorheriges Thema - Nächstes Thema

JensS

Hallo,

für Steckdosen, welche keine Rückmeldung geben(IT + Derivate), möchte ich im Abstand von 2 Sekunden einen Schaltimpuls absetzen. Sicher ist sicher...
Mit {fhem("set Steckdose1 on");; sleep(2);; fhem("set Steckdose1 on")} würde das zwar gehen aber gibt es dafür einen einfacheren fhem-Befehl?

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

herrmannj

Hallo,

set Steckdose1 on; sleep(2); set Steckdose1 on

reicht. vg
jörg

JensS

#2
Hallo Jörg,

set Steckdose1 on; sleep(2); set Steckdose1 on
Unknown command sleep(2), try help.
Ich wage mal einen Hilferuf.  :)

Gruß Jens

p.s. set Steckdose1 on; {sleep(2)}; set Steckdose1 on  funktioniert. Hab die Denksportaufgabe geschafft...
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

herrmannj

na, der drops scheint nur gelutscht  :)

Du hast ein perl sleep eingebaut und das ist blockierend - keine gute idee ...

poste mal bitte das gesamte def als list.

vg
jörg


justme1968

für das fhem sleep musst du die klammern weg lassen:set Steckdose1 on; sleep 2; set Steckdose1 on

ansonsten schaut dir mal das ITrepetition attribut an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

JensS

#5
Danke Andre, ich hab noch einiges zu lernen.

Der Einfachheit halber habe ich in 99_myUtils.pm folgende Routinen eingefügt.
sub IT_on ($)
{
my ($ITon) = @_;
fhem("set $ITon on; sleep 2; set $ITon on");
}

sub IT_off ($)
{
my ($IToff) = @_;
fhem("set $IToff off; sleep 2; set $IToff off");
}

Das Ganze mit reload 99_myUtils.pm übernommen und künftig schalte ich IT-Steckdosen nicht mehr mit:set Steckdose1 on sondern mit:{IT_on("Steckdose1")} bzw. mit{IT_off("Steckdose1")}

Gruß Jens

@justme1968: Danke, ich habe das Script angepasst und werde mir das ITrepetition attribut anschauen.
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

justme1968

du musst es in einen einzigen fhem aufruf stecken: fhem("set $ITon on; sleep 2; set $ITon on");für off genau so. sonst ist das sleep blockierend.

aber wie gesagt schau dir das ITrepetition attribut an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

herrmannj

dann braucht jens wieder die doppelten ";" - dann gehts

vg
jörg

justme1968

#8
nein. die doppelten ;; sind nur notwendig wenn es per telnet oder command fenster eingegeben wird. und auch dann nur wenn man da {fhem("set xx on;;set xx on")} schreibt. wenn man set xx on;set xx onscheibt muss nichts verdoppelt werden.

wenn man in einem 99_myUtils file den fhem(...) aufruf schreibt muss auch nichts verdoppelt werden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

JensS

#9
Ich hab mein Script erfolgreich probiert.  :)
Danke an Euch!
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

herrmannj


JensS

@Andre

Kannst du mir eine Quelle für das ITrepetition attribut schreiben? In der FHEM reference finde ich es nicht.  :-[

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

digital.arts

Hallo,
@dirigent:
das ITrepetition ist als Attribut Deiner Steckdose zu setzen...
Beispiel
define Dose1 IT 00FFF0FFFF 0F F0
attr Dose1 IODevice cul433
attr Dose1 Model itswitch
attr Dose1 ITrepetition 6


vg
Karl
FHEM auf RPi; CUL868 für FHT; NanoCUL433 für IT und Revolt; Fhemduino für IT und Temp/Hum; RFXTRX433e für IT/FA20RF/Funkgong/HomeEasy; NanoFirmataEth für 1wire Temp

JensS

#13
attr Dose1 ITrepetition 6 scheint wohl den Schaltbefehl 6x zu wiederholen?!
Leider finde ich nirgends eine Doku dazu. Weder in der Reference, noch in der WIKI bzw. diversen PDF-Anleitungen.
In welchem Zeitraum finden die Wiederholungen statt? Den Einstieg in die FHEM-Umgebung ist mangels einiger Infos ziemlich anstrengend.
Danke, dass Ihr mir auf die Sprünge helft!

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.