98_MSwitch - Support

Begonnen von Byte09, 25 März 2018, 12:19:58

Vorheriges Thema - Nächstes Thema

Panik

Hallo byte09,

wie ist denn die Syntax bei einem FreeCMD:

({system("sudo shutdown -r now")});

Ich hab schon etliches probiert mit den Klammern - doch es will net ...

Panik
Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

Wolle02

Hallo Thomas,

soweit alles durchgelaufen bei mir, die Zeitschalten passen und wurden ausgeführt:

ja, bei mir ist heute auch alles gut durchgelaufen. Der Stern leuchtet  :D Ich war gestern wohl einfach etwas zu voreilig. Bitte entschuldige, dass ich so viel Wallung reingebracht habe.

Ich möchte an dieser Stelle auch gerne mal herzlichen Dank für dein tolles Modul sagen. Man braucht zwar etwas Einarbeitung, aber nur deshalb, weil das Modul wirklich sehr mächtig ist. Es ist eigentlich genau das was ich mir schon immer gewünscht habe, weil ich doch immer sehr mit der Syntax auf Kriegsfuß stehe.  ???

Gruß
Wolle

Wolle02

Zitat von: Panik am 19 November 2019, 19:13:36

({system("sudo shutdown -r now")});


Also gefühlt würde ich die äußeren runden Klammern weglassen.

Gruß
Wolle

Byte09

#873
Zitat von: Panik am 19 November 2019, 19:13:36
Hallo byte09,

wie ist denn die Syntax bei einem FreeCMD:

({system("sudo shutdown -r now")});

Ich hab schon etliches probiert mit den Klammern - doch es will net ...

Panik

Hi Panik

wenn perlcode ausgeführt werden soll immer mit '{' einleiten und mit '}' beenden.

Es darf nichts vor der einleitenden Klammer und nach der beendenden Klammer stehen.

Es geht nur entweder perlcode  oder Fhembefehle . ein Mix ist ( derzeit ) noch nicht möglich.

{
system("sudo shutdown -r now");
}


gerade getestet.

gruss Byte09

hermann1514

Zitat von: Byte09 am 18 November 2019, 17:27:22
ich habe mir das gerade mal angeschaut. Die verschiedenen auzuführenden Befehle unterliegen keiner if/else bedingung. d.H es werden immer alle zweige immer ausgeführt, solange die bedingung passt. Keine bedingung passt immer.

du musst in den expertmode wechseln , dafür sorgen , das der befehl, der einer zeitlichen bedingung unterliegt immer zuerst ausgeführt wird und die befehlsausführung in diesem fall , das diese bedingung passt, danach abgebrochen wird.

ich habe das device mal entsprechend geändert.

gruss Byte09



Danke. Hat alles geklappt.
Gruß
Hermann

Maista

Hallo Thomas,

bei mir steht das nach dem letzten Update im Log:
Zitat
Zitat2019.11.20 19:56:52 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_MSwitch.pm line 3414.
2019.11.20 20:11:41 1: PERL WARNING: Use of /c modifier is meaningless without /g at (eval 1121) line 1.
2019.11.20 20:31:41 1: PERL WARNING: Use of /c modifier is meaningless without /g at (eval 1756) line 1.

Ist das Relevant? Hab nichts an den bestehenden MSWitch gemacht.

Gruss Gerd

Byte09

Zitat von: Maista am 20 November 2019, 20:53:26
Hallo Thomas,

bei mir steht das nach dem letzten Update im Log:

Ist das Relevant? Hab nichts an den bestehenden MSWitch gemacht.

Gruss Gerd
nicht relevant... nur unschön... ist mit kommendem update weg. thx.

gruss thomas

Gesendet von meinem ELE-L29 mit Tapatalk


Byte09

Zitat von: Maista am 20 November 2019, 20:53:26
Hallo Thomas,

bei mir steht das nach dem letzten Update im Log:

Ist das Relevant? Hab nichts an den bestehenden MSWitch gemacht.

Gruss Gerd

Hi Gerd,

ich habe mir das gerade mal angeschaut , das erste warning kommt zweifellos von einem MSwitch und ich korrigiere das. Bei den beiden anderen warnings gehe ich eigentlich davon aus, das diese nicht von MSwitch produziert werden, da ich diesen modifier nirgends nutze.

gruss Thomas

Maista

Moin Thomas.

Ok. Dann zwei Probleme  ???

Danke.

Gruß Gerd

Panik

@Wolle02 und Byte09,

so hat es jetzt geklappt - DANKE!
(Stellung vom Semikolon spielt da auch mit rein- das hatte ich wohl auch falsch)
Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

Byte09


mit dem nächsten Update habe ich u.A. das Webinterface geändert . Das betrifft leichte optische Veränderungen aber vorrangig ist die Sprache des Interfaces jetzt abhängig vom globalen Attribut 'Language' und kann somit auf Deutsch gestellt werden.

alternativ gibt es ein eigenes Attribut MSwitch_Language, mit welchem die globale Einsellung 'überschrieben' werden kann.

gruss Byte09

det.

Hallo Thomas,


Ist das 0: start checkinitdone 0, welches sich genau in der Anzahl der definierten MSwitch bei jedem Neustart in Log befindet, aus Deinem Modul generiert?

LG
det.

Byte09

Zitat von: det. am 21 November 2019, 18:54:13
Hallo Thomas,


Ist das 0: start checkinitdone 0, welches sich genau in der Anzahl der definierten MSwitch bei jedem Neustart in Log befindet, aus Deinem Modul generiert?
ups..... Asche über mein Haupt.... ja ist es. sorry . ist mit morgigem Update verschwunden.

ich habe die startroutinen umgebaut und vergessen diese wieder zu löschen.

gruss thomas

Gesendet von meinem ELE-L29 mit Tapatalk


Panik

Hallo Byte09,

wie ließe sich dieser Code in ein FreeCMD umsetzen? das ist doch gemischter Code?


{
my $T=(ReadingsVal("THGR122NX_2_WZ","temperature",18.0));
fhem "set virtualCCU_WZ_Sensor1 virtTemp $T";
fhem "set virtualCCU_WZ_Sensor2 virtTemp $T";
}
Raspberry3+,  CUL USB V3 mit V 1.66 CUL868, TRXRFX433, HM-MOD-UART, Phoscon-GW

Byte09

#884
Zitat von: Panik am 23 November 2019, 07:26:00
Hallo Byte09,

wie ließe sich dieser Code in ein FreeCMD umsetzen? das ist doch gemischter Code?


{
my $T=(ReadingsVal("THGR122NX_2_WZ","temperature",18.0));
fhem "set virtualCCU_WZ_Sensor1 virtTemp $T";
fhem "set virtualCCU_WZ_Sensor2 virtTemp $T";
}


hi panik


{
my $T=ReadingsVal("THGR122NX_2_WZ","temperature",18.0);
fhem("set virtualCCU_WZ_Sensor1 virtTemp $T");
fhem("set virtualCCU_WZ_Sensor2 virtTemp $T");
}


sollte gehen . wenn nicht sag mir kurz bescheid, dann muss ich es selber testen.

alternativ geht auch folgendes - nicht im perlmode:

set virtualCCU_WZ_Sensor1 virtTemp [THGR122NX_2_WZ:temperature];
set virtualCCU_WZ_Sensor2 virtTemp [THGR122NX_2_WZ:temperature];


hierbei setzt er 'virtTemp' allerdings immer auf 'undef' wenn 'THGR122NX_2_WZ:temperature' nicht definiert ist .

gruss thomas