Hallo Leute, ich versuche mittels "cat /sys/class/thermal/thermal_zone0/temp" die Temperatur eines Enigma2 Receivers auszulesen. Das Login erfolgt ohne Passwort mittels ssh, auf der Konsole funktioniert das ohne Probleme nur unter fhem bekomme ich es nicht zum laufen.
Wo liegt hier der Fehler?
my $tmp = "ssh (root\@192.168.2.36 cat /sys/class/thermal/thermal_zone0/temp");
funktioniert weder als userReadings noch in einer Sub
VG
Frank
Konsole = User xxx?
FHEM = User fhem
Einrichtung ist unter User xxx gemacht
Meine Notizen: https://heinz-otto.blogspot.com/2020/09/ssh-mit-public-key.html
User sollte in diesem Fall keine Rolle spielen, es ist egal ob ich mich vom Mac oder von einen Windows pc oder unter Linux (jeweils unter einer Konsole/Terminal) mittels ssh einlogge, dass funktioniert von jedem System aus da der Enigma2 Receiver jedweden user akzeptiert
Beispiel:
Last login: Mon Jul 4 21:22:10 on ttys000
Franks-MacBook-Pro:~ frankdonath$ ssh root@192.168.2.36
root@dm920:~# cat /sys/class/thermal/thermal_zone0/temp
65244
root@dm920:~#
P.S es ist möglich das auf dem Host (wo fhem läuft) mittels cron ein Prozess zum auslesen gestartet werden muss und nicht unter fhem, oder über system...
Der Zugriff von jedwedem User von jedwedem System akzeptieren: mag sein
ABER: wenn Passwort-los, dann werden "Zertifikate" geprüft und die liegen unter /HOME-DES-USERS/.ssh
Also für z.B. den User pi auf einem PI unter: /home/pi/.ssh
Für fhem bei Standardinstallation unter: /opt/fhem/.ssh
Wenn dort keine "Schlüssel" liegen oder diese eben dem "remote System" nicht bekannt sind, dann geht z.B. der Login ohne PW nicht...
Anders: steht etwas im fhem Log? Und wenn: was? ;)
EDIT: weil ja der Threadtitel heißt "Temperatur mittels cat... auslesen, Fehlermeldung" -> wo steht die Fehlermeldung? Wäre interessant um helfen zu können! 8)
Gruß, Joachim
Ich bekomme als Ergebnis nur:
HASH(0x5fdba98)
Hier mal meine Testsub:
sub
cpu_temp_dm()
{
my $tmp = {system("ssh (root\@192.168.2.36 cat /sys/class/thermal/thermal_zone0/temp")};
#Log 1, "$tmp";
fhem ("set DM920_du $tmp");
Im Log:
[Tue Jul 5 16:33:06 2022] fhem.pl: Odd number of elements in anonymous hash at ./FHEM/99_myTESTUtils.pm line 39.
2022.07.05 16:33:06 1: HASH(0xa681120)
[Tue Jul 5 16:33:06 2022] fhem.pl: DM920 userReadings temp evaluated to undef at fhem.pl line 4290.
Das hier sieht doch eigenartig aus:
Zitat
{system("ssh (root\@192.168.2.36 cat /sys/class/thermal/thermal_zone0/temp")};
Gruß, Joachim
Ja, die Klammer war zu viel, aber am Fehler ändert sich leider nichts.
Ja der enigma ist ohne passwort eingerichtet, aber mindestens einmal muss man interactive den Host in die known_hosts eintragen.
ich stell das mal nach :)
edit qed :)
ssh root@192.168.56.72 cat /sys/class/thermal/thermal_zone0/temp
The authenticity of host '192.168.56.72 (192.168.56.72)' can't be established.
RSA key fingerprint is SHA256:DRXPiKVzobCfXaB/WiPfaF7Th585M1BuEIYoWAhZzX8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.56.72' (RSA) to the list of known hosts.
64757
Führe ich das in FHEM aus:
"ssh root\@192.168.56.72 cat /sys/class/thermal/thermal_zone0/temp"
Erscheint im Log
Host key verification failed.
Zitat von: Otto123 am 05 Juli 2022, 17:05:33
Ja der enigma ist ohne passwort eingerichtet, aber mindestens einmal muss man interactive den Host in die known_hosts eintragen.
ich stell das mal nach :)
Aber müsste dann nicht bzgl. PW-Eingabe was im fhem-Log stehen?
@franky08: poste doch mal ALLES was damit zu tun hat, nicht immer nur irgendwelche Schnipsel. Danke. Weil es ja was von userReadigs heißt, davon sieht man nichts. Deine Sub setzt ja direkt was in einem dummy? DM920_du? Und auch die Sub ist ja unvollständig gepostet...
Gruß, Joachim
einmal in der Konsole:
sudo -su fhem
fhem@raspib3:/home/pi$ ssh root@192.168.56.72 cat /sys/class/thermal/thermal_zone0/temp
The authenticity of host '192.168.56.72 (192.168.56.72)' can't be established.
RSA key fingerprint is SHA256:DRXPiKVzobCfXaB/WiPfaF7Th585M1BuEIYoWAhZzX8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.56.72' (RSA) to the list of known hosts.
65731
Dann geht es auch in FHEM 8)
{qx(ssh root\@192.168.56.72 cat /sys/class/thermal/thermal_zone0/temp)}
oder
{my $tmp = qx(ssh root\@192.168.56.72 cat /sys/class/thermal/thermal_zone0/temp)}
Mit system() wird es nicht funktionieren, da wird kein Ergebnis zurück gegeben ;)
https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html
Das userReadings ist im Enigma2 Modul angelegt:
list:
Internals:
DEF 192.168.2.36:80
FVERSION 70_ENIGMA2.pm:0.188480/2019-03-10
INTERVAL 45
NAME DM920
NR 2105
STATE on
TYPE ENIGMA2
URL http://192.168.2.36:80/
modelid DM920
READINGS:
2022-07-05 17:10:37 acg 0
2022-07-05 16:41:21 apid 6120
2022-07-05 17:10:37 ber 0
2022-07-05 16:41:21 channel ZDF_HD
2022-07-05 15:25:34 channelList Das_Erste_HD,ZDF_HD,MDR_S-Anhalt_HD,NDR_FS_MV_HD,SAT.1_HD,SAT.1_Gold_HD,RTL_HD,RTLZWEI_HD,RTLup_HD,NITRO_HD,ProSieben_HD,Pro7_MAXX_HD,kabel_eins_HD,Kabel_Eins_Doku_HD,VOX_HD,VOXup_HD,TELE_5_HD,tagesschau24_HD,BILD_HD,ZDFinfo_HD,zdf_neo_HD,arte_HD,TLC_HD,3sat_HD,SIXX_HD,Disney_Channel_HD,Comedy_Central_HD,MTV_HD,Deluxe_Music_HD,Lokal-TV-Portal_HD,ARD_alpha_HD,DW_English_HD,ntv_HD,phoenix_HD,WELT_HD,WDR_HD_Dortmund,N24_DOKU,DMAX_HD,ONE_HD,MDR_Thüringen_HD,MDR_Sachsen_HD,rbb_Berlin_HD,BR_Fernsehen_Nord_HD,SWR_BW_HD,NDR_FS_NDS_HD,rbb_Brandenburg_HD,SWR_RP_HD,hr-fernsehen_HD,BR_Fernsehen_Süd_HD,ServusTV_HD_Deutschland,ANIXE_HD,KiKA_HD,Pro7Sat.1_UHD,RTL_UHD,HotBird_4K1,UHD1_by_ASTRA_/_HD+,Nasa_TV_UHD,INSIGHT_TV_HD,QVC_ZWEI_UHD,SES_UHD_Demo_Channel,a.tv_HD,münchen.tv_HD,rfo_Regional_Fernsehen_Oberbayern_HD,4MEDIATHEK,Franken_Plus_HD,Welt_der_Wunder,Ukraine_24_HD,UATV,Euronews_Russian
2022-07-05 16:41:21 currentMedia 1:0:19:2B66:3F3:1:C00000:0:0:0:
2022-07-05 17:00:07 currentTitle heute
2021-10-29 17:14:09 enigmaversion 4.3.3r3-2021-10-29
2022-07-05 17:10:37 eventcurrenttime 1657033838.07
2022-07-05 17:10:37 eventcurrenttime_hr 17:10:38
2022-07-05 17:10:37 eventcurrenttime_next 1657033838.07
2022-07-05 17:10:37 eventcurrenttime_next_hr 17:10:38
2022-07-05 17:00:07 eventdescription -
2022-07-05 16:41:21 eventdescription_next -
2022-07-05 17:00:07 eventdescriptionextended -
2022-07-05 17:00:07 eventdescriptionextended_next Pink Panther vor Gericht - Juwelendieb wird Prozess gemachtGarage versinkt in Krater - Erdfall in Sachsen-AnhaltHausgemachter Senf für die Hebriden - Heike und Stefan leben in SchottlandModeration: - Lissy IshagHD-Produktion
2022-07-05 17:00:07 eventduration 600
2022-07-05 17:00:07 eventduration_hr 00:10:00
2022-07-05 17:00:07 eventduration_next 2100
2022-07-05 17:00:07 eventduration_next_hr 00:35:00
2022-07-05 17:00:07 eventname heute
2022-07-05 17:00:07 eventname_next hallo deutschland
2022-07-05 17:10:37 eventremaining 600
2022-07-05 17:10:37 eventremaining_hr 00:10:00
2022-07-05 17:10:37 eventremaining_next 2062
2022-07-05 17:10:37 eventremaining_next_hr 00:34:22
2022-07-05 17:00:07 eventstart 1657033200
2022-07-05 17:00:07 eventstart_hr 17:00:00
2022-07-05 17:00:07 eventstart_next 1657033800
2022-07-05 17:00:07 eventstart_next_hr 17:10:00
2022-07-05 17:00:07 eventtitle heute
2022-07-05 17:00:07 eventtitle_next hallo deutschland
2019-03-14 21:50:43 fpversion None
2022-05-13 20:26:47 hdd1_capacity 1024.0
2022-07-05 17:00:52 hdd1_free 641.844
2022-05-13 20:26:47 hdd1_model Samsung SSD 860 EVO 1TB
2022-05-13 20:26:47 hdd2_capacity 2048.0
2022-06-11 21:40:28 hdd2_free 826.951
2022-05-13 20:26:47 hdd2_model TOSHIBA MQ01UBB200
2020-08-30 18:50:35 imageversion Experimental 2020-07-20
2022-07-05 07:45:27 input tv
2019-03-14 17:41:42 inputList tv,radio
2019-05-27 00:33:52 iswidescreen -
2019-06-07 16:04:35 lanmac 00:09:34:48:A9:30
2019-03-14 21:50:43 model dm920
2022-07-05 14:33:03 mute off
2022-07-05 17:00:07 nextTitle hallo deutschland
2022-07-05 15:25:34 onid 1
2022-07-05 16:41:21 pcrpid 6110
2022-07-05 16:41:21 pmtpid 6100
2022-07-05 14:33:03 power on
2022-07-05 07:45:26 presence present
2022-07-05 16:41:21 providername ZDFvision
2022-07-01 19:07:57 recordings 0
2022-06-30 20:17:34 recordings_error 0
2022-06-30 21:01:06 recordings_finished 1
2022-06-30 20:16:04 recordings_next 0
2022-06-30 20:16:04 recordings_next_counter 0
2022-06-30 20:16:04 recordings_next_counter_hr -
2022-06-30 20:16:04 recordings_next_hr -
2022-06-30 20:16:04 recordings_next_name -
2022-06-30 20:16:04 recordings_next_servicename -
2022-07-05 16:41:21 servicename ZDF HD
2022-07-05 16:41:21 servicereference 1:0:19:2B66:3F3:1:C00000:0:0:0:
2022-07-05 16:41:21 servicevideosize 1280x720
2022-07-05 16:41:21 sid 11110
2022-07-05 17:10:37 snr 91
2022-07-05 17:10:37 snrdb 14.68
2022-07-05 14:33:03 state on
2022-07-05 14:33:03 stateAV on
2022-07-05 15:36:50 temp Error evaluating DM920 userReading temp: Undefined subroutine &main::ssh called at ./FHEM/99_myTESTUtils.pm line 39.
2022-07-05 16:41:21 tsid 1011
2019-03-14 21:50:43 tuner_a1 BCM45208 (DVB-S2)
2019-03-14 21:50:43 tuner_b1 (leer)
2022-07-05 16:41:21 txtpid 6130
2022-07-05 16:41:21 videoheight 720
2022-07-05 16:41:21 videowidth 1280
2022-07-05 15:27:04 volume 80
2022-07-05 16:41:21 vpid 6110
2019-03-14 21:50:43 webifversion 1.9.0
helper:
lastFullUpdate 1657033251.41169
bouquet:
radio:
<n/a>:
sRef 1:0:2:6F10:445:1:C00000:0:0:0:
tv:
3sat_HD:
sRef 1:0:19:2B8E:3F2:1:C00000:0:0:0:
4MEDIATHEK:
sRef 1:0:16:3338:45B:1:C00000:0:0:0:
ANIXE_HD:
sRef 1:0:19:526C:41D:1:C00000:0:0:0:
ARD_alpha_HD:
sRef 1:0:19:2889:40F:1:C00000:0:0:0:
BILD_HD:
sRef 1:0:19:2775:409:1:C00000:0:0:0:
BR_Fernsehen_Nord_HD:
sRef 1:0:19:2856:401:1:C00000:0:0:0:
BR_Fernsehen_Süd_HD:
sRef 1:0:19:2855:401:1:C00000:0:0:0:
Comedy_Central_HD:
sRef 1:0:19:6FEC:436:1:C00000:0:0:0:
DMAX_HD:
sRef 1:0:19:151A:455:1:C00000:0:0:0:
DW_English_HD:
sRef 1:0:1:332D:1388:13E:820000:0:0:0:
Das_Erste_HD:
sRef 1:0:19:283D:3FB:1:C00000:0:0:0:
Deluxe_Music_HD:
sRef 1:0:19:157F:41F:1:C00000:0:0:0:
Disney_Channel_HD:
sRef 1:0:19:157C:41F:1:C00000:0:0:0:
Euronews_Russian:
sRef 1:0:1:6A9:3138:13E:820000:0:0:0:
Franken_Plus_HD:
sRef 1:0:1:16B1:3FF:1:C00000:0:0:0:
HotBird_4K1:
sRef 1:0:1:11:2BC:13E:820000:0:0:0:
INSIGHT_TV_HD:
sRef 1:0:19:1392:3EA:1:C00000:0:0:0:
Kabel_Eins_Doku_HD:
sRef 1:0:19:EF79:3F9:1:C00000:0:0:0:
KiKA_HD:
sRef 1:0:19:2B98:3F2:1:C00000:0:0:0:
Lokal-TV-Portal_HD:
sRef 1:0:19:16AD:3FF:1:C00000:0:0:0:
MDR_S-Anhalt_HD:
sRef 1:0:19:2871:425:1:C00000:0:0:0:
MDR_Sachsen_HD:
sRef 1:0:19:2870:425:1:C00000:0:0:0:
MDR_Thüringen_HD:
sRef 1:0:19:2872:425:1:C00000:0:0:0:
MTV_HD:
sRef 1:0:19:2777:409:1:C00000:0:0:0:
N24_DOKU:
sRef 1:0:1:30:5:85:C00000:0:0:0:
NDR_FS_MV_HD:
sRef 1:0:19:2858:401:1:C00000:0:0:0:
NDR_FS_NDS_HD:
sRef 1:0:19:2857:401:1:C00000:0:0:0:
NITRO_HD:
sRef 1:0:19:2EAF:411:1:C00000:0:0:0:
Nasa_TV_UHD:
sRef 1:0:1:11FA:2B5C:13E:820000:0:0:0:
ONE_HD:
sRef 1:0:19:2888:40F:1:C00000:0:0:0:
Pro7Sat.1_UHD:
sRef 1:0:1F:183D:40B:1:C00000:0:0:0:
Pro7_MAXX_HD:
sRef 1:0:19:EF78:3F9:1:C00000:0:0:0:
ProSieben_HD:
sRef 1:0:19:EF75:3F9:1:C00000:0:0:0:
QVC_ZWEI_UHD:
sRef 1:0:1F:7DA:449:1:C00000:0:0:0:
RTLZWEI_HD:
sRef 1:0:19:EF15:421:1:C00000:0:0:0:
RTL_HD:
sRef 1:0:19:EF10:421:1:C00000:0:0:0:
RTL_UHD:
sRef 1:0:1F:307A:3F5:1:C00000:0:0:0:
RTLup_HD:
sRef 1:0:19:EF16:421:1:C00000:0:0:0:
SAT.1_Gold_HD:
sRef 1:0:19:30D4:413:1:C00000:0:0:0:
SAT.1_HD:
sRef 1:0:19:EF74:3F9:1:C00000:0:0:0:
SES_UHD_Demo_Channel:
sRef 1:0:1F:1:40B:1:C00000:0:0:0:
SIXX_HD:
sRef 1:0:19:EF77:3F9:1:C00000:0:0:0:
SWR_BW_HD:
sRef 1:0:19:283F:3FB:1:C00000:0:0:0:
SWR_RP_HD:
sRef 1:0:19:2840:3FB:1:C00000:0:0:0:
ServusTV_HD_Deutschland:
sRef 1:0:19:1332:3EF:1:C00000:0:0:0:
TELE_5_HD:
sRef 1:0:19:1519:455:1:C00000:0:0:0:
TLC_HD:
sRef 1:0:19:2774:409:1:C00000:0:0:0:
UATV:
sRef 1:0:16:421C:2F44:13E:820000:0:0:0:
UHD1_by_ASTRA_/_HD+:
sRef 1:0:1F:2:40B:1:C00000:0:0:0:
Ukraine_24_HD:
sRef 1:0:19:4C4:5E:55:820000:0:0:0:
VOX_HD:
sRef 1:0:19:EF11:421:1:C00000:0:0:0:
VOXup_HD:
sRef 1:0:19:EF17:421:1:C00000:0:0:0:
WDR_HD_Dortmund:
sRef 1:0:19:6EB0:3FD:1:C00000:0:0:0:
WELT_HD:
sRef 1:0:19:5274:41D:1:C00000:0:0:0:
Welt_der_Wunder:
sRef 1:0:1:332F:45B:1:C00000:0:0:0:
ZDF_HD:
sRef 1:0:19:2B66:3F3:1:C00000:0:0:0:
ZDFinfo_HD:
sRef 1:0:19:2BA2:3F2:1:C00000:0:0:0:
a.tv_HD:
sRef 1:0:19:16A8:3FF:1:C00000:0:0:0:
arte_HD:
sRef 1:0:19:283E:3FB:1:C00000:0:0:0:
hr-fernsehen_HD:
sRef 1:0:19:2873:425:1:C00000:0:0:0:
kabel_eins_HD:
sRef 1:0:19:EF76:3F9:1:C00000:0:0:0:
münchen.tv_HD:
sRef 1:0:19:16A9:3FF:1:C00000:0:0:0:
ntv_HD:
sRef 1:0:19:EF14:421:1:C00000:0:0:0:
phoenix_HD:
sRef 1:0:19:285B:401:1:C00000:0:0:0:
rbb_Berlin_HD:
sRef 1:0:19:286F:425:1:C00000:0:0:0:
rbb_Brandenburg_HD:
sRef 1:0:19:286E:425:1:C00000:0:0:0:
rfo_Regional_Fernsehen_Oberbayern_HD:
sRef 1:0:19:16AA:3FF:1:C00000:0:0:0:
tagesschau24_HD:
sRef 1:0:19:2887:40F:1:C00000:0:0:0:
zdf_neo_HD:
sRef 1:0:19:2B7A:3F3:1:C00000:0:0:0:
channels:
radio:
<n/a>
<n/a>
tv:
Das_Erste_HD
ZDF_HD
MDR_S-Anhalt_HD
NDR_FS_MV_HD
SAT.1_HD
SAT.1_Gold_HD
RTL_HD
RTLZWEI_HD
RTLup_HD
NITRO_HD
ProSieben_HD
Pro7_MAXX_HD
kabel_eins_HD
Kabel_Eins_Doku_HD
VOX_HD
VOXup_HD
TELE_5_HD
tagesschau24_HD
BILD_HD
ZDFinfo_HD
zdf_neo_HD
arte_HD
TLC_HD
3sat_HD
SIXX_HD
Disney_Channel_HD
Comedy_Central_HD
MTV_HD
Deluxe_Music_HD
Lokal-TV-Portal_HD
ARD_alpha_HD
DW_English_HD
ntv_HD
phoenix_HD
WELT_HD
WDR_HD_Dortmund
N24_DOKU
DMAX_HD
ONE_HD
MDR_Thüringen_HD
MDR_Sachsen_HD
rbb_Berlin_HD
BR_Fernsehen_Nord_HD
SWR_BW_HD
NDR_FS_NDS_HD
rbb_Brandenburg_HD
SWR_RP_HD
hr-fernsehen_HD
BR_Fernsehen_Süd_HD
ServusTV_HD_Deutschland
ANIXE_HD
KiKA_HD
Pro7Sat.1_UHD
RTL_UHD
HotBird_4K1
UHD1_by_ASTRA_/_HD+
Nasa_TV_UHD
INSIGHT_TV_HD
QVC_ZWEI_UHD
SES_UHD_Demo_Channel
a.tv_HD
münchen.tv_HD
rfo_Regional_Fernsehen_Oberbayern_HD
4MEDIATHEK
Franken_Plus_HD
Welt_der_Wunder
Ukraine_24_HD
UATV
Euronews_Russian
Attributes:
alias DM 920 UHD
bouquet-radio 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
bouquet-tv 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
http-method GET
icon dreambox
macaddr 00:09:34:45:9A:2E
model DM920
room Wohnzimmer
userReadings temp {cpu_temp_dm}
webCmd channel:input
userReadings startet den {cpu_temp_dm} Ausleseprozess
sub:
sub
cpu_temp_dm()
{
my $tmp = {system("ssh root\@192.168.2.36 cat /sys/class/thermal/thermal_zone0/temp")};
#Log 1, "$tmp";
fhem ("set DM920_du $tmp");
}
Das dummy device ist erst mal zum testen um zu sehen ob was ausgelesen wird.
@otto
ich denke du hast Recht, ich hatte völlig vergessen das mir vor einiger Zeit der Zotac Host, auf dem die fhem Hauptinstanz läuft, gestorben ist (SSD Controller defekt). Darauf habe ich einen Zotac neu eingerichtet ABER mit dem war ich noch nie auf dem Receiver und es fehlt dann natürlich für ssh der Eintrag unter "known hosts"...
aber wie gesagt: system() liefert die nur -1 - schon immer. Mach es also wie von mir gezeigt.