Hauptmenü

[gelöst] Perl Hilfe

Begonnen von Kellerkind86, 18 Januar 2021, 22:59:01

Vorheriges Thema - Nächstes Thema

Kellerkind86

Hallo,
würde gerne ein userreading bauen..
würde gerne ein normalen Text am Ende haben von :
next_geburtstag_fhem_native { ReadingsVal("Cal_GeburtstageView","t_001_summary","")." hat ".ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","") }

das entspricht jetzt einfach als Beispiel: (Dennis) hat ( in 3 Tag(en))
würde aber gerne das Geburtstag anhängen..

hab versucht mit ."Geburtstag" aber das funkioniert am Ende nicht.

danke im voraus,
Gruß Marcell
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

KölnSolar

doch, eigentlich schon. Vielleicht hattest Du es nicht richtig positioniert.Und manchmal helfen einfache Anführungszeichen.
next_geburtstag_fhem_native { ReadingsVal('Cal_GeburtstageView','t_001_summary','')." hat ".ReadingsVal('Cal_GeburtstageView','t_001_daysleftLong,'')." Geburtstag" }
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Otto123

Hallo Marcell,

bist Du sicher?

{"eins "."zwei ".ReadingsVal("WEB","state","")." drei"}

sollte schon so gehen:
next_geburtstag_fhem_native { ReadingsVal("Cal_GeburtstageView","t_001_summary","")." hat ".ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","")." Geburtstag" }

Zu spät :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kellerkind86

Danke euch.. Hatte davor und dahinter einen Punkt.
Vielen Dank
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Otto123

Ich gehe da nicht von einem Tippfehler sondern von: Ich weiß eigentlich nicht warum ... aus?!

Diese Funktion heisst concatenation - oder besser Verkettung. Damit werden einzelne Strings (oder Funktionen die Strings liefern) miteinander verknüpft.
https://perldoc.perl.org/perlop#Additive-Operators
"String1"."String2"."String3" -> "String1String2String3" - deswegen ist ein Punkt am Ende ein Fehler, da fehlt dann die Fortsetzung ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Keine Vorteile, länger und im Vergleich alles in einer Zeile zu verketten (ohne Variable) umständlicher, aber vlt. erwähnenswert das man auch mit dem Zuweisungsoperator = zum Ziel kommen könnte.
Da setzt man die Punkte auch nicht falsch.

next_geburtstag_fhem_native { my $v=ReadingsVal("Cal_GeburtstageView","t_001_summary","");
$v .= " hat ";
$v .= ReadingsVal("Cal_GeburtstageView","t_001_daysleftLong","");
$v .= " Geburtstag" }


Gruß

Thomas

Kellerkind86

Okay, ich danke.
ich weiß ich hab noch viel zu lernen... ::)

danke
Gruß Marcell
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)