NEWS
Frage grundsätzlich zu Skipten - hoffe auf Hilfe AN / AUS
-
Vielen Dank schon mal.
Das ist genau das was ich meine. Egal ob ich nun eine 0 oder eine 1 sende, der TV schaltet.
Mit deiner vorababfrage wäre genau das realisiert was ich will. Nämlich nur schalten "true" wenn eine 1 kommt und nur schalten "false" wenn eine 0 kommt.
Wie müsste jetzt das zusammen gesetzte Script mit meinen Werten komplett aussehen ?
Der ideale Fall wäre nun noch zusatzlich, wenn ich eine Chance hätte, zu erkennen ob das Gerät bereits eingeschaltet wurde und an ist. Zum Beispiel wenn es über eine Fernbedienung eingeschaltet wurde. Da bekomme ich nämlich keine Rückmeldung. Gibt es etwas an Scripten oder ähnliches das man ggf. per Ping abfragen kann ob dieser TV eingeschaltet ist oder aus ist und könnte das ebenfalls in das Script integrieren um auch eine Rückmeldung zu setzen auf eine weitere Gruppenadresse wie zum Beispiel: "id": "knx.0.Multimedia.WHZ_Samsung.Ein/_Aus_Status", `
ehm ok warte jetzt mal schritt fuer schritt sons verlieren wir die story
also 1)
Du moechtest wissen wir das fertige script aussehen sollte mit abfrage richting (ich mach die gleich mal das beispiel muss aber erst hund laufen sorry :))
due moechtest noch eine abfrage op de TV an ist, diese variable bekommst du aber nirgendwo von hab ich das richtig verstanden ?
Ich benutze z.b. fuer solche sachen harmony damit habe ich das problem nicht, ich wurde gerne erst begreifen ob wir den wert irgendwo abfragen koennen. Mein idee:
A) wir bekommen den wert irgendwo her und bauen noch eine 2te abfrage rein
B) wir bauen eine function die per ping oder etwas in der art den status ermittelt.
So gassie gehen, sag bitte bescheit ob ich es richtig verstanden habe dan geb ich dir noch nen stoss in die (hoffentlich :ugeek:) richtige richtung
~Dutch
-
Vielleicht so?
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: 0}, function (obj) { console.log("Switch off Samsung TV"); setState ('samsung2016.0.tvOn', false); }); on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: 1}, function (obj) { console.log("Switch on Samsung TV"); setState ('samsung2016.0.tvOn', true); });
Gruß
Pix
EDIT: DIe Abfrage, ob TV schon an, kann dann später eingebaut werden. Muss auch erstmal Gassi gehen.
-
Gassi musss ich heute nicht mehr, aber die Katze kam gerade nach Hause. Die wollte auch noch was
Also scheinbar hab ich ganz gut erklärt, denn du scheinst genau verstanden zu haben was ich meine
Fall 1. ist halt nur erstmal je nach Wert auch dem TV den richtigen wert geben.
Fall 2. könnte komplizierter werden, da ich die Rückmeldung brauche und dazu keinen Wert vom TV bekomme.
Also genau wie du es erfasst hast.
-
@pix:Vielleicht so?
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: 0}, function (obj) { console.log("Switch off Samsung TV"); setState ('samsung2016.0.tvOn', false); }); on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: 1}, function (obj) { console.log("Switch on Samsung TV"); setState ('samsung2016.0.tvOn', true); }); ```` `
Ja, dass könnte passen.
Das erschliesst sich mir auch da hier erst über das entschieden wird was an Werten kommt Val 0 oder Val 1, welcher der folgenden Werte gesendet werden soll.
Das muss ich ausprobieren.
-
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: false}, function (obj) { console.log("Switch off Samsung TV"); setState ('samsung2016.0.tvOn', false); }); on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: true}, function (obj) { console.log("Switch on Samsung TV"); setState ('samsung2016.0.tvOn', true); });
So klappt es hervorragend.
Angenommen ich will nun noch etwas weiteres hinzufügen wie zum Beispiel, dass ich noch eine weitere Gruppenadresse mit einer Medlun belegen will. Kann ich dann einfach ein weiteres setState hinzufügen ?
Also so ungefähr:
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: true}, function (obj) {
console.log("Switch on Samsung TV");
setState ('samsung2016.0.tvOn', true);
setState ('knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status', true);
Das wäre dann für eine kleine Rückmeldung gedacht. Schöner wäre natürlich wenn ich auch eine Rückmldung habe wenn ich es nur mit der TV Fernbedienung mache und der Status des TVs auch auf dem Taster wär also knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status
-
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: false}, function (obj) { console.log("Switch off Samsung TV"); setState ('samsung2016.0.tvOn', false); }); on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: true}, function (obj) { console.log("Switch on Samsung TV"); setState ('samsung2016.0.tvOn', true); });
So klappt es hervorragend.
Angenommen ich will nun noch etwas weiteres hinzufügen wie zum Beispiel, dass ich noch eine weitere Gruppenadresse mit einer Medlun belegen will. Kann ich dann einfach ein weiteres setState hinzufügen ?
Also so ungefähr:
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: true}, function (obj) {
console.log("Switch on Samsung TV");
setState ('samsung2016.0.tvOn', true);
setState ('knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status', true); `
Das wäre dann für eine kleine Rückmeldung gedacht. Schöner wäre natürlich wenn ich auch eine Rückmldung habe wenn ich es nur mit der TV Fernbedienung mache und der Status des TVs auch auf dem Taster wär also knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status `
wie in deinem beispiel kannst du x beliebige set states hinzufuegen, zb:
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', val: true}, function (obj) { console.log("Switch on Samsung TV"); setState ('samsung2016.0.tvOn', true); setState ('device_1.0.tvOn', true); setState ('device_2.0.tvOn', true); setState ('device_3.0.tvOn', true); setState ('device_4.0.tvOn', true); });
pass aber auf, in deinem beispiel setzt du den wert der triggert auch auf set state:
@my-knx-shop:setState ('knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status', true); `
dadurch ensteht eine nicht endende loop, da muss noch
change: "ne"
zwischen damit das script nur bei variablen aenderung startet:
on({id: 'knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus', change: "ne", val: true}, function (obj) {
aber warum die gleiche variable updaten mit dem selben wert als das die schaltung verursacht hat ?
Das wäre dann für eine kleine Rückmeldung gedacht. `
eventuell mittels log ?````
log("TV eingeschlaltet")~Dutch
-
Wieso die gleiche Variable ?
das eine ist doch der Status und das andere nur die Gruppenadresse.
knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus
knx.0.Multimedia.WHZ_Samsung.Ein_/_Aus_Status
Danke für die Info mit den setState. Dann mache ich das mal noch und habe schon mal eine kleine Rückmeldung.
Für die richtige müsste man vielleicht was anderes realisieren. Vielleicht über einen Stromerkennungsaktor in der Steckdose in der der TV steckt.
Oder hat jemand noch eine Idee ?
-
Ups Sorry _status übersehen.
Mir fällt dazu:
-
stroomerkennung
-
Ping/api wen Smart TV
-
Sensor setzen der Strom aus tv als actor sieht (zB auf scart, Usb, HDMI Anschluss… Tv aus stroomerkennung weck)
-
Infrarot Signal abfangen
-
TV auf immer an Modus und per Strom Zufuhr ein/aus schalten
~Dutch
Send from mobile device
-
-
Das mit dem Ping würde ich gerne mal testen. Weißt du wie das gehen könnte ?
-
mit nem Ping adapter
-
Und wie mache ich das dann in dem Script ?
-
ok … habe ein wenig rumgespielt und es mit dem Ping soweit hinbekommen.
Danke euch.
Gib es sowas wie den Ping Adapter auch für Mac Adressen ?
Also, wenn sich in der Fritzbox die MAC Adresse xy ins Wlan einbindet true und wenn diese nicht erreichbar ist false ?
Danke vielmals für eure Hilfe
-
Gibt es, mit dem tr064 Adapter.
https://github.com/soef/iobroker.tr-064
Du kannst da devices definieren, und in einem Datenpunkt wird dargestellt, ob die Fritzbox die als Aktiv oder Inaktiv sieht.
-
Beim Ping gibts noch zu beachten, dass sich ein Fernseher auch mal nachts selbstständig in Netz einloggt um auf Updates zu prüfen. Das passiert natürlich nicht, wenn er per Steckdose abgeschaltet ist. Beobachtet bei meinem Samsung UE46ES6300, der ist bei mir immer ab drei Uhr an (online).
Enrico
-
@dwm:Gibt es, mit dem tr064 Adapter.
https://github.com/soef/iobroker.tr-064
Du kannst da devices definieren, und in einem Datenpunkt wird dargestellt, ob die Fritzbox die als Aktiv oder Inaktiv sieht. `
Es geht nicht darum ob die Fritzbox aktiv ist. Es geht darum aus der Fritzbox auszulesen ob eine bestimmte Mac Adresse im WLAN angemeldet ist oder nicht. Geht das damit auch ? -
Ja.
Enrico
-
Ja.
Enrico `
Danke …. probiere ich heute Abend mal aus. [emoji106] -
Ich habe oben nochmal ein Bild eingefügt von den Einstellungen dieses Adapters. Die Geräte werden beim Suchen so angelegt. Ob jetzt die IP-Adresse unbedingt mit drin stehen bleiben muss, weiß ich nicht. Du kannst das ja mal testen.
Enrico