hallo freunde von FHEM ...
ja auch ich habe den weg gefunden und da ich an dessen anfang stehe sehe ich noch viel dunkel um mich!
ich bitte um erleuchtung ;-)))
ich suche und suche ... mein google verweigert teilweise die arbeit ... nur was? wenn man die wörter nach denen man suchen soll nicht kennt?
thema a) dummy mit null ?
ich versuche ein dummy mit NULL (nix, garnix) zu initialisieren
warum ? weil sonst der wert von davor drinnen steht ? soll aber leer sein.
ich habe versucht set ALARMCode bringt eine fehlermeldung beim speichern,
set ALARMCode "" füllt den dummy mit "", set ALARMCode '' füllt den dummy mit '', set ALARMCode NULL steht NULL drinnen
derzeit arbeite ich mit set ALARMCode . und schnippsle dann mit substring den punkt weg .... ist je eigentlich doof ;-)
thema b) sonderbares zeichen im browser ?
ich habe mir eine remotecontrol gebaut
define rc_ALARM remotecontrol
attr rc_ALARM room ALARM
attr rc_ALARM rc_iconpath icons/AIOsmall
attr rc_ALARM rc_iconprefix AIO_btn_
attr rc_ALARM row00 1,2,3
attr rc_ALARM row01 4,5,6
attr rc_ALARM row02 7,8,9
attr rc_ALARM row03 s,0,r
define weblink_rc_ALARM weblink htmlCode {fhem("get rc_ALARM htmlcode", 1)}
define notify_rc_ALARM notify rc_ALARM {\
my $xy=ReadingsVal("ALARMCode", "state", 0);;\
$xy = $xy . $EVENT;;\
my $fileName = <"/opt/fhem/code.txt">;;\
my ($err, @content) = FileRead({FileName => $fileName, ForceType => "file"});;\
my $Code=$content[0];;\
#Log 3,"\n>> FileContent: $Code";;\
if (substr(reverse($xy),0,1) eq "s") {\
fhem "set ALARMCode .";;\
fhem "set ALARMOnOf on";;\
fhem "set ALARMStatus off";;\
} elsif (substr(reverse($xy),0,1) eq "r") {\
fhem "set ALARMCode .";;\
fhem "set ALARMOnOf off";;\
fhem "set ALARMStatus down";;\
} else {\
fhem "set ALARMCode $xy";;\
}\
}
geht soweit alles ... nur wenn ich eine taste klicke steht oben links im browser der wert der taste für ca 2 sec.
siehe bild ... wie bekomme ich das weg ?
freue mich über hilfreiche tipps,
spart mir stundenlanges suchen ;-)
lg Newi
Willkommen Newi!
Wie so oft ein paar Anmerkungen, es ist immer hilfreich zu beschreiben, was Du eigentlich erreichen willst? (Dummy mit null / nix ist ja eigentlich nur ein workaround für etwas). Devicedefinitionen in Codetags helfen auch sehr bei der Nachvollziehbarkeit und Lesbarkeit.
Jetzt aber zum Inhalt:
Ich glaube zu erraten, dass Du eine Art Eingabe für eine Deaktivierung einer Alarmanlage über einen Code bauen willst und für die Eingabe FHEMWeb mit der Anzeige eines remotecontrol devices verwendest ist das so richtig? Dann soll ein Code eingegeben werden und mit r oder s abgeschlossen werden und irgendetwas wird dann auf on oder off geschaltet?
Nebulös bleibt, was aus der Datei gelesen wird und was damit passieren soll und wer das bedienen soll?
Generell hat ein Dummy Status einen wert und der Wert leerer String ist so eigentlich nicht üblich (und über den set Befehl auch wohl nicht direkt eingebbar). Für all das sollte das aber kein Hinderungsgrund sein, denn Du kannst ja immer einen festen Text davorsetzen und wenn nur dieser drin steht, das als leeren String behandeln (wie bei Dir bereits beschrieben)
Hi,
Aufgabe a) geht so:
{readingsSingleUpdate($defs{"ALARMCode"},"state","",1)}
b) ist vermutlich ganz normal. Das sonderbare Zeichen ist wohl eine Art Feedback. Um das weiter zu analysieren, gib uns mal die Ausgabe von "get rc_ALARM htmlcode". ...diesmal in Code-Tags bitte.
Gruß,
Thorsten
danke danke danke ...
ich gelobe besserung -> Codetags u.s.w.
@viegener: GUT ERRATEN!
genau sowas in der art ;-) wollte hier für den start keine projektbeschreibung machen aber
ein bild sagt mehr als 1000 worte **lol
das nebulöse würde das codefile sein in dem die passcode "1234567" stehen
die dann mit gesubstringtem +s(tern) oder +r(aute) als ".1234567s" scharf stellen und ".1234567r" unscharf stellen (ist aber noch nicht eingebaut)
FRAGE: geht in perl auch ein substr("hallo",-1) gibt "o" zurück ?
zur steuerung kommt dann ein touchscreen an den raspberry und z.b. ein RFID-reader sowie ein gsm-module zur alarmierung mit einem schaltmodul für aussensirene.
als melder habe ich hier einen homatic HM-Sec-MDIR-2 zum testen und das flutscht schon prima!
soweit mein plan ;-)))))
wie ich es befürchtet habe deswegen hab ich auch vorab den weg mit dem "." und substr gewählt
@Thorsten Pferdekaemper: danke für den tip mit
{readingsSingleUpdate($defs{"ALARMCode"},"state","",1)}
das scheint ja zu klappen **freu
das
get rc_ALARM htmlcode
gibt in einem <div></div> die remotecontrol htmlseite mit den tasten aus ... sonst nix **dummfragendschau sagt dir das was ?
was mich gleich zur nächsten verwunderung bringt ~~~
ich schreibe einen code z.b.
#--- ALARMOnOff ---------------------------------------------
define ALARMOnOff dummy
attr ALARMOnOff devStateIcon off:AS_AUS on:AS_AN
attr ALARMOnOff icon ring
attr ALARMOnOff room ALARM
attr ALARMOnOff setList on off
#attr ALARMOnOff webCmd on:off
set ALARMOnOff off
und denke das ich mit "set ALARMOnOff off " einen startwert übergebe.
FUNKT auch wunderbar !!!
jetzt das vwerwirrende ...
da es gibt 2 mal Save ! einmal im menü "Save config" und einmal über dem textarea "Save fhem.cfg"
solange ich "Save fhem.cfg" benutze bleibt das "set ALARMOnOff off" im .cfg
sobald ich "Save config" verwende ist das "set ALARMOnOff off" WEG !!!
genauso passiert das mit einem {Log3, "jezz gehts los"} und anderen set irgentwas aus
verwirrrrrend aber nicht hoffnungslos ;-)
habt ihr das auch bemerkt ? oder was mach ich falsch ?
lg Newi
Zitat von: Newi am 20 Februar 2017, 19:27:02
get rc_ALARM htmlcode
gibt in einem <div></div> die remotecontrol htmlseite mit den tasten aus ... sonst nix
Ja, und genau das hätte ich gerne gesehen. In Code-Tags.
Zitat
ich schreibe einen code z.b.
#--- ALARMOnOff ---------------------------------------------
define ALARMOnOff dummy
attr ALARMOnOff devStateIcon off:AS_AUS on:AS_AN
attr ALARMOnOff icon ring
attr ALARMOnOff room ALARM
attr ALARMOnOff setList on off
#attr ALARMOnOff webCmd on:off
set ALARMOnOff off
und denke das ich mit "set ALARMOnOff off " einen startwert übergebe.
FUNKT auch wunderbar !!!
jetzt das vwerwirrende ...
da es gibt 2 mal Save ! einmal im menü "Save config" und einmal über dem textarea "Save fhem.cfg"
Wenn Du solche Sachen machst und solche Fragen stellst, dann bedeutet dass, dass Du noch lange nicht die Stufe der Erleuchtung erlangt hast, die einem das Editieren der fhem.cfg erlaubt. Schmeiß den set-Befehl da wieder raus, der hat da nämlich nichts zu suchen und dann fingere nie wieder an der fhem.cfg herum.
Zitat
solange ich "Save fhem.cfg" benutze bleibt das "set ALARMOnOff off" im .cfg
sobald ich "Save config" verwende ist das "set ALARMOnOff off" WEG !!!
Ah das ist gut, das System schützt sich vor Dir.
Siehe oben. Der Weg zur Erleuchtung ist noch sehr lang.
Zitat
was mach ich falsch ?
Du fummelst in der fhem.cfg rum.
Gruß,
Thorsten
Ich habe jetzt einige Zeit darüber nachgedacht, was Du da machst und stelle mir die Frage, ob das eine Einarbeitung in FHEM sein soll, dann ist der Ansatz vermutlich ok. Für eine relae Anwendung - sprich Alarmanlage - würde ich anders vorgehen.
Aber auch für die Einarbeitung erscheint mir Dein Ansatz eher nicht optimal, denn Du arbeitest bereits hier in versch. Bereichen gegen das System (leere Werte im set / Eintrag für set in der cfg / sammeln von Eingaben in einem Dummy / perl-code / fhem-web-Anpassungen vermutlich)
FHEMWeb ist eigentlich auch nicht unbedingt ein Sicherheitszugang - denn eigentlich könnte ja im selben webinterface mal eben Deinen Alarm deaktivieren.
Aber das ist nur meine persönliche Meinung...
hey freunde ... bleibt locker ;-)
ich spiel damit rum und bin am anfang!
es war nie die rede dass ich nach 3 stunden was baue was besser ist als abus oder jablotron oder oder oder.
ich habe fragen zum verhalten und freu mich über tipps!
ich will keine grundsatzdebatte ob das glas halb voll oder halb leer ist **lol
ich brauche auch keine systemanalyse oder abteilung projektprüfung *grins
wenn ihr mir tipps gebt wie ich besser weiter komme freu ich mich und dabei helfen mir KLARE ANSAGEN keine andeutungen wie
"GUT das mich das system vor mir schüzt! " das ist eher schwach und bringen mich nicht auf den rechten pfad und geben auch kein licht ... oder ?
lg Newi
Zitat von: Newi am 21 Februar 2017, 00:20:38
wenn ihr mir tipps gebt wie ich besser weiter komme freu ich mich und dabei helfen mir KLARE ANSAGEN keine andeutungen wie
"GUT das mich das system vor mir schüzt! " das ist eher schwach und bringen mich nicht auf den rechten pfad und geben auch kein licht ... oder ?
Nein, das System schützt SICH vor Dir, nicht Dich vor Dir.
Sorry, wenn Du so gar keinen Humor verstehst. Dann halt als noch klarere Ansage:
Editiere die fhem.cfg nicht. Nie. Niemals. Fertig.
Gruß,
Thorsten
Zitat von: Newi am 21 Februar 2017, 00:20:38
hey freunde ... bleibt locker ;-)
ich spiel damit rum und bin am anfang!
es war nie die rede dass ich nach 3 stunden was baue was besser ist als abus oder jablotron oder oder oder.
ich habe fragen zum verhalten und freu mich über tipps!
ich will keine grundsatzdebatte ob das glas halb voll oder halb leer ist **lol
ich brauche auch keine systemanalyse oder abteilung projektprüfung *grins
wenn ihr mir tipps gebt wie ich besser weiter komme freu ich mich und dabei helfen mir KLARE ANSAGEN keine andeutungen wie
"GUT das mich das system vor mir schüzt! " das ist eher schwach und bringen mich nicht auf den rechten pfad und geben auch kein licht ... oder ?
lg Newi
Bin ganz locker und wenn Du locker Ratschläge ausschlägst, darfst Du auch gerne locker ratlos bleiben :)
so ... wieder im lande ;-)
so wie ich das sehe schauen ratschläge anders aus !
ihr macht hier andeutungen, kommt mit halbinformationen die nicht weiter helfen und nehmt einem anfänger die lust am entdecken ... sorry kommt bei mir so an.
wo soll ich schreiben wenn nicht in der fhem.cfg ? ein include auf meine.cfg ?
wollt ihr helfen ? oder nur mit eurem wissen hinter der hand haltend neulinge auslachen ?
so kommt es mir vor.
NOCHMAL ... wenn ihr mir helfen wollt bin ich für jede hilfe dankbar
ps. immer locker bleiben aber dumme sprüche behalten ;-)
Zitat von: Newi am 28 Februar 2017, 00:59:57
so wie ich das sehe schauen ratschläge anders aus !
Muss bei Dir alles bierernst sein? Bist Du so verzweifelt?
Zitat
ihr macht hier andeutungen, kommt mit halbinformationen die nicht weiter helfen und nehmt einem anfänger die lust am entdecken ... sorry kommt bei mir so an.
Sobald Du mich dafür bezahlst mache ich es so, wie Du es willst. Mein derzeitiger Stundensatz ist 137,50€ plus MWst.
Zitat
wo soll ich schreiben wenn nicht in der fhem.cfg ? ein include auf meine.cfg ?
Wie kommst Du überhaupt auf die Idee, dass man etwas in die fhem.cfg schreiben soll? Wo steht das?
Du sollst die ganzen Sachen, die Du bisher in die fhem.cfg eingegeben hast über das Kommandofeld in FHEM machen. War das jetzt klar und humorlos genug?
Zitatwollt ihr helfen ? oder nur mit eurem wissen hinter der hand haltend neulinge auslachen ?
so kommt es mir vor.
Mach doch mal eine Umfrage in diesem Forum. Mal sehen, was die anderen so denken.
ZitatNOCHMAL ... wenn ihr mir helfen wollt bin ich für jede hilfe dankbar
Den Eindruck hat man halt nicht. Du hängst Dich viel mehr an meinem Kommunikationsverhalten auf, als Dir mal zu überlegen, ob ich nicht auch ein bisschen Recht haben könnte.
Zitat
ps. immer locker bleiben aber dumme sprüche behalten ;-)
Siehe oben: Beratung ohne dumme Sprüche gibt es erst ab einem gewissen Stundensatz.
Ich verabschiede mich jetzt aus diesem Thread.
Gruß,
Thorsten
Ich bin zwar weiterhin der Ansicht, das wir versuchen zu helfen und viele andere sehen das auch so, aber ich mache das hier auch nicht um Dankbarkeit zu ernten und mit Dir diskutieren darüber macht auch keinen Sinn.
Hier ein paar Ratschläge und Infos aus dem Thread und darüberhinaus
- fhem.cfg editieren ist keine normale Vorgehensweise, da das Risiko für Fehler sehr hoch ist. fhem.cfg ist ähnlich wie die Registry in Windows, man kann hereinschauen, aber es gibt für die meisten Änderungen Möglichkeiten im FHEMWeb (oder FHEM-Befehle)
- fhem.cfg enthält Definitionen und Attribute für Devices aber keine Aktionen (ein set-Befehl ist eine Aktion - also etwas was während des Betriebs passiert aber nicht zum Start) - Es gibt aber die Möglichkeit nach dem erfolgreichen start Befehle auszuführen (Stichwort notify global:INITIALIZED --> https://forum.fhem.de/index.php/topic,35026.msg273358.html#msg273358 (https://forum.fhem.de/index.php/topic,35026.msg273358.html#msg273358)) ob das so sinnvoll ist, ist eine andere Frage
- Das Feedback zum Drücken der Tasten zu entfernen erfordert möglicherweise Eingriff in die HTML/JS-Dateien oder gar das Modul, ich habe mir das nicht im Detail angesehen. Beides sind aber keine Operationen, die ich empfehlen würde und schon gar nicht für den Anfang.
- Ein Dummy mit einem Leerwert zu füllen ist möglich (siehe oben), aber auch wiederum nur indem man einen Umweg wählt. Ergo ist das vermutlich auch kein typischer Anwendungsfall
- Ich bleibe bei dem Eindruck, dass Du versuchst den Einstieg in FHEM an einer nicht Anfänger-geeigneten Stelle. Ein bisschen wie ein Autowerkzeugkasten mit dem Du versuchst Gartenarbeit zu machen. Der Ratschlag wäre einen Einstieg über eine Automatisierung von Geräten - Kopplung von Geräten unterschiedlicher Hersteller - Abläufe zeit- oder ereignisgesteuert zu automatisieren etc zu nehmen.