Nützliche aliase

Begonnen von P.A.Trick, 13 Oktober 2015, 19:36:13

Vorheriges Thema - Nächstes Thema

justme1968

und bei mir sieht es so aus. ich kann zeilen die ich selber eingegeben habe per doppelklick markieren. ohne einen prompt am anfang.

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

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

betateilchen

ok, jetzt weiss ich was Du meinst :) Aber an der Stelle würdest Du wohl auch den cmdalias nicht aufrufen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

in dem einen fenster nicht. wenn 4 fenster auf drei fhem systeme schon eine weile offen sind schon :)

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

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

rapster

Zitat von: justme1968 am 03 Juni 2016, 14:44:52
falls man man den überblick verliert auf welchem fhem rechner man gerade eingeloggt ist: define hostname cmdalias hostname AS {(split('\.', qx(hostname)))[0]}

gruss
  andre

Und wer nicht nur den Hostname sondern den FQDN möchte weil er z.B. wie ich mehrere Instanzen hat bei denen sich nur die Domain unterscheidet ;)
z.B. fhem.abc.de, fhem.xyz.de ...
define cmd_hostname cmdalias hostname AS {`hostname --fqdn`}

Gruß
Claudiu

igami

#49
Habe mir mal ein priorityset gebastelt

defmod priorityset cmdalias priorityset .+\s+(reset|\d+\s+.+) AS {\
  my ($name, $priority, $cmd) = split(/[\s]+/, $EVENT, 3);;\
  \
  return unless(IsDevice($name) && $priority);;\
  \
  if($priority eq "reset"){\
    fhem("setreading $name priorityset 0");;\
  }\
  else{\
    return unless($cmd);;\
    \
    fhem("set $name $cmd;; setreading $name priorityset $priority;;") \
      if(int($priority) >= ReadingsNum($name, "priorityset", 0));; \
  }\
}
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

dev0

Wofür braucht man das? Warum warum kann man den Wert von $priority nur erhöhen und nicht verkleinern?

igami

Zitat von: dev0 am 20 August 2017, 11:31:57
Wofür braucht man das? Warum warum kann man den Wert von $priority nur erhöhen und nicht verkleinern?
Ich habe mehrere notify, DOIF, etc. welche den gleichen Aktor schalten. Diese bekommen dann eine unterschiedliche priority und beim Abschließen der Aktion wird das mit reset wieder auf 0 gesetzt.

Konkretes Beispiel:
Meine LED Stripes an der Kaffeeecke werden durch eine Messsteckdose geschaltet.
Power < 0.5 => aus
Power < 5 => grün (Geräte fertig und im Standby)
Power > 5 => blau (Geräte arbeiten)

Nun habe ich aber auch noch verschiedene Licht-Szenen. Sind diese aktiv soll das nicht durch die Steckdose übersteuert werden.

Zugegeben ist das ganze noch nicht ganz ausgereift.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

dev0

Kann man das anwenden, wenn man nicht genau Deine Notifies verwendet? In der commandref habe ich kein 'priorityset' gefunden.

igami

Zitat von: dev0 am 20 August 2017, 12:19:36
Kann man das anwenden, wenn man nicht genau Deine Notifies verwendet? In der commandref habe ich kein 'priorityset' gefunden.
Das wird ja durch das cmdalias ermöglicht. Anstelle von "set <name> cmd" macht man "priorityset <name> <priority> cmd".
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Shadow3561

Moin,

Folgendes Problem besteht:
Ich steuere meine Heizungen mit dem PID20-Regler.
Da 3 Heizungen gleichzeitig gesteuert werden müssen, habe ich mir einen Dummy gebaut. Dieser hat ein setList als Eingabe bekommen und die Werte werden von einem notify an alle PID-Regler weitergegeben.
Dies funktioniert sehr gut.

Jetzt habe ich den dummy bei Amazon Echo als Thermostat eingebunden. Die Befehle werden zum Dummy weitergereicht und auch eingestellt. Jedoch besteht ein Problem mit Ganzzahlen. 19,5 oder 21,5 werden vom Dummy angenommen und auch vom PID-Regler. Möchte ich jedoch 20,0 oder 18,0 einstellen, macht die Amazon api daraus eine Ganzzahl ala 20 oder 18.
Diese Zahlen werden weder vom Dummy noch vom PID-Regler akzeptiert.

Nun zur Frage,
ist es möglich einen cmdalias zu erstellen der einer Ganzzahl ein ".0" anhängt?
Und wenn ja, kann mir jemand einen keinen Denkanstoss geben, wie das ganze umzusetzen ist.

MfG

Amenophis86

arbeite mit userreading und sprintf, oder arbeite mit readingsChange. Ein cmdalias ist dafür der falsche Weg.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

justme1968

natürlich geht das mit einem cmdalias auch.

aber vielleicht sollte man dem pid modul beibringen das es auch ohne nachkomma stellen funktioniert.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Shadow3561

Zitat von: Amenophis86 am 02 Oktober 2017, 08:26:56
arbeite mit userreading und sprintf, oder arbeite mit readingsChange. Ein cmdalias ist dafür der falsche Weg.

Das habe ich gemacht.
Mein Kopf war gestern abend wohl nicht so ganz in Form. Habe diesen einfacheren Weg nicht in Betracht gezogen.

MfG

rudolfkoenig

#58
Zitatist es möglich einen cmdalias zu erstellen der einer Ganzzahl ein ".0" anhängt?
defmod add0 cmdalias set dummy [\d]+ AS set dummy {( "$EVTPART1.0" )}

Amenophis86

Habe mich wohl falsch ausgedrückt. Wie bereits bewiesen geht es auch mit cmdalias, wobei ich finde, dass userreadings der bessere Weg ist. Aber das ist nur meine Meinung :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...