70_WINCONNECT.pm zum Steuern eines Windows PC / Tablet

Begonnen von michael.winkler, 19 Oktober 2016, 10:08:42

Vorheriges Thema - Nächstes Thema

Per

Ich habe dir mal eine aktuelle Log geschickt. Dir o.g. Fehler ist zwar nicht wieder aufgetreten, aber ist die Häufigkeit der Meldungen nötig/erwünscht?

Außerdem hätte ich zwei Wünsche:
1. aktuelle IP als Reading, aber wirklich von der WinConnet.exe ermittelt. Ein modify mach ich mir dann zur Not selbst.
2. ein Restart der WinConnet.exe (also ähnlich dem Update, nur ohne Update ;)) von Fhem aus (natürlich ohne Überprüfung des state).

michael.winkler

Zitat von: Per am 22 März 2018, 09:29:53
Ich habe dir mal eine aktuelle Log geschickt. Dir o.g. Fehler ist zwar nicht wieder aufgetreten, aber ist die Häufigkeit der Meldungen nötig/erwünscht?
Kannst Du mir noch mal die LOG einträge zuschicken, welche aus deiner Sicht fehlen bzw. zu viel sind?

Zitat von: Per am 22 März 2018, 09:29:53
Außerdem hätte ich zwei Wünsche:
1. aktuelle IP als Reading, aber wirklich von der WinConnet.exe ermittelt. Ein modify mach ich mir dann zur Not selbst.
2. ein Restart der WinConnet.exe (also ähnlich dem Update, nur ohne Update ;)) von Fhem aus (natürlich ohne Überprüfung des state).
OK, die zwei Dinge schaue ich mir mal an. Bin aktuell nur etwas mit anderen Dingen beschäftigt.

Per

Zitat von: michael.winkler am 22 März 2018, 09:39:09Kannst Du mir noch mal die LOG einträge zuschicken
Zitat von: Per am 22 März 2018, 09:29:53Ich habe dir mal eine aktuelle Log geschickt.
Link ist der gleiche wie letztens.

Zitat von: michael.winkler am 22 März 2018, 09:39:09welche aus deiner Sicht fehlen bzw. zu viel sind?
battery_LifeRemainingsMin
memory_available

Zitat von: michael.winkler am 22 März 2018, 09:39:09Bin aktuell nur etwas mit anderen Dingen beschäftigt.
Kein Problem.

Aber noch zwei Fragen: was hat es mit "grammar.xml" auf sich?
Und "core_temp_state: not_installed"? Ich habe ein externes Programm für die CoreTemp. Das würde ich gern löschen, wenn WinControl das kann.

michael.winkler

Zitat von: Per am 22 März 2018, 10:42:05
Und "core_temp_state: not_installed"? Ich habe ein externes Programm für die CoreTemp. Das würde ich gern löschen, wenn WinControl das kann.
Core_Temp siehe Doku https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/fhem-device/#Readings

Zitat von: Per am 22 März 2018, 10:42:05
Aber noch zwei Fragen: was hat es mit "grammar.xml" auf sich?
Wird für die Spracherkennung benötig. Wenn Du diese nicht aktiviert hast, erscheint die Meldung dass die Grammar.xml nicht gefunden wurde.

Zitat von: Per am 22 März 2018, 10:42:05
battery_LifeRemainingsMin
memory_available
Sobald sich halt einer dieser Werte ändert, erscheint die aktuell im LOG. Ich kann mir das Logging aber noch mal anschauen. Eventuell kann ich eine Einstellung machen, mit der solche Meldungen unterdrückt werden.

Per

Zitat von: michael.winkler am 22 März 2018, 11:00:03Core_Temp siehe Doku https://mwinkler.jimdo.com/eigene-anwendungen/winconnect/fhem-device/#Readings
Ein Link auf die verwendete Core Temp wäre hilfreich, es gibt ein paar Programme mit diesem Namen, ich glaube nicht, dass alle kompatibel sind.


Per

OK, dann wird das nix mit Löschen, ist das Programm, was ich schon nutze. Nur (bisher) in einem anderen Pfad.

Und was soll ich sagen: es funst! Thx.

Per

Zitat von: Per am 16 März 2018, 18:48:37jetzt tritt der Fehler erstmal (noch?) nicht wieder auf.
So, jetzt ist er wieder da. Bekannter Link. Habe es einfach unten dran gehangen.

michael.winkler

Zitat von: Per am 22 März 2018, 15:54:40
So, jetzt ist er wieder da. Bekannter Link. Habe es einfach unten dran gehangen.

Die IP-Adressen passen nicht zusammen. Deine DEF sieht wie folgt aus:


Internals:
   CFGFN      ./fhem.all.cfg
   DEF        192.168.4.45 60
   INTERVAL   60
   NAME       all.Dem_Das
   NR         55
   STATE      off
   TYPE       WINCONNECT
   READINGS:


In deiner Windows APP steht aber eine andere:

22.03.2018 15:51:39 CONFIG: MS .Net       4.6 or later
22.03.2018 15:51:39 CONFIG: Version       0.0.27
22.03.2018 15:51:39 CONFIG: IPAdresse     192.168.4.103
22.03.2018 15:51:39 CONFIG: Port          8085


Dann ist klar dass FHEM hier nicht richtig arbeitet. Dein PC sendet die richtige Info. FHEM erkennt aber dass das Gerät nicht mehr auf der IP erreichbar ist, uns setzt div. Werte zurück. Hier würde ich Dir empfehlen mit einem DNS eintrag zu arbeiten. Wichtig ist halt nur dass wenn dein PC eine andere IP-Adresse bekommt, dass er diese am DNS Server auch registrieren kann.

Per

#729
Die IP in der WindowsApp ist die vom Fhem-Server. Oder habe ich das falsch verstanden?

Was mich mehr "wundert", ist, dass ein Teil der Readings (battery.*, core_temp.*, memory.*) sauber, andere gar nicht (state; wird, wenn es mal geht, nach wenigen Sekunden wieder auf off gesetzt), und die os_RunTime_minutes sogar doppelt gemeldet werden.

An der falschen IP scheitert es also nicht prinzipiell.

PS:
Zitat von: michael.winkler am 12 März 2018, 22:24:27Eine Zahl. Zur Not kannst Du das Reading, zur weiteren Verarbeitung, mit int(Reading) umwandeln.
Ging mir um event-on-change-reading, da kann ich nicht hinterher wandeln. Aber der richtige Filter ist auf der Prio-Liste bei mir erstmal weit unten.

Per

#730
So, habe mir mal erlaubt, die 70_WINCONNECT direkt zu editieren und habe die Zeilen 431/432 dem Rest anzupassen. Du wirst das zwar nicht ohne Grund gemacht haben, bei mir arbeitet diese kleine Änderung, i.V. mit win_resetreadings=0 genau wie von mir gewünscht.

core_temp_state=false wird nach Installation von Core Temp nicht gelöscht oder wenigstens aktualisiert.

michael.winkler

Zitat von: Per am 22 März 2018, 18:39:16
Die IP in der WindowsApp ist die vom Fhem-Server. Oder habe ich das falsch verstanden?

Was mich mehr "wundert", ist, dass ein Teil der Readings (battery.*, core_temp.*, memory.*) sauber, andere gar nicht (state; wird, wenn es mal geht, nach wenigen Sekunden wieder auf off gesetzt), und die os_RunTime_minutes sogar doppelt gemeldet werden.

An der falschen IP scheitert es also nicht prinzipiell.

PS:Ging mir um event-on-change-reading, da kann ich nicht hinterher wandeln. Aber der richtige Filter ist auf der Prio-Liste bei mir erstmal weit unten.

In dem Log deiner Windows APP müssten folgende Meldungen zu sehen sein

22.03.2018 23:10:31 SERVER: client 10.10.0.230 connected by ip
22.03.2018 23:10:31 SERVER: Request: /FHEM/POWERSTATE=ON;STATUSREQUEST;0
22.03.2018 23:10:31 TODO:   powerstate
22.03.2018 23:10:31 SERVER: wait for connection


Wenn diese nicht erscheinen dann erreicht dein FHEM Server den Windows Rechner nicht. Eventuell verhindert das deine Firewall.

Wenn der FHEM Server deinen Rechner nicht erreicht dann wird der STATE auf off gestellt. Dein Rechner Meldet FHEM aber alle 60 Sekunden dass er da ist. Das ist der Grund warum dein STATE ständig toggelt und bestimmte Readings immer wieder auf 0 gehen,

michael.winkler

Zitat von: Per am 22 März 2018, 19:31:04
So, habe mir mal erlaubt, die 70_WINCONNECT direkt zu editieren und habe die Zeilen 431/432 dem Rest anzupassen. Du wirst das zwar nicht ohne Grund gemacht haben, bei mir arbeitet diese kleine Änderung, i.V. mit win_resetreadings=0 genau wie von mir gewünscht.

core_temp_state=false wird nach Installation von Core Temp nicht gelöscht oder wenigstens aktualisiert.
was hast du da geändert? Zeiel 430 bis 436 sehen so aus


430       elsif ($service eq "user_aktividletime") {
431                 $serviceurl = "user_aktividletime";
432         }
433         elsif ($service eq "powerstate") {
434                 if ( AttrVal( $name, "autoupdatewincontrol", 1 ) == 1 ) {$serviceurl = "powerstate" . "=" . $PWRState . ";" . $Winconnect . ";" . $WinconnectUPD;}
435                 else {$serviceurl = "powerstate" . "=" . $PWRState . ";" . $Winconnect . ";0";}
436         }


Das Reading core_temp_state sollte sich ändern, wenn deine Windows App das Core findet. Eventuell musst du die App einmal neu starten.

rs

#733
Hallo Michael

ZUnächst vielen Dank für das Modul.

Habe es wie in deiner Beschreibung installiert und aufgerufen.

Leider kann ich es auf dem Win10 Rechner nicht wieder starten.
Bitte was kann ich machen?

** War zu früh hier, mit dem TaskMgr beenden, neu Konfigurieren = funktioniert.
rpi3+ & RaspBee | Phillips, Osram, IKEA, SIlvercrest Devices | FHEM 6.2 | Echo Show 15 | Yamaha YAS| LG TV | Ubuntu 22.04 - NextCloud 27 - OpemVPN - Wordpress - NAS - ...

Per

Zitat von: michael.winkler am 22 März 2018, 23:15:19
was hast du da geändert? Zeiel 430 bis 436 sehen so aus

elsif ($service eq "powerstate") {
#if ( AttrVal( $name, "autoupdatewincontrol", 1 ) == 1 )  {$serviceurl = "powerstate" . "=" . $PWRState . ";" . $Winconnect . ";" . $WinconnectUPD;}
#else {$serviceurl = "powerstate" . "=" . $PWRState . ";" . $Winconnect . ";0";}
$serviceurl = "powerstate";
}

Ich hätte das, wie viele weitere Zeilen auch, auch einfach löschen können, wird ja mit
else{
$serviceurl = $service;
}

ohnehin so gemacht.
Aber wie geschrieben, bei mir funktioniert das damit, wie von mir (!) gewüscht.

Und "Firewall" ist das falsche Stichwort, wenn eingetragene und aktuelle IP übereinstimmen, passt es ja auch. Oder mit meinem kleinen Patch.