the method reverse() is undefined for the type string

Hier bitte alles rein was Off-topic ist.

Moderatoren: Cyrelian, seppy

Antworten
merlindata
Beiträge: 33
Registriert: 24. Jan 2020 08:15
Answers: 1
Wohnort: Wien

the method reverse() is undefined for the type string

Beitrag von merlindata »

Hallo!
Nach meinem Umstieg von OH2.5 auf OH3 will die rule zur Pinabfrage nicht mehr.
Visual Studio Code meldet:
„the method reverse() is undefined for the type string“

secure_sequenz.postUpdate(secure_sequenz.state.toString().reverse().substring(0,sequenzlaenge -1).reverse() + secure_pin_eingabe)

Code: Alles auswählen

//String secure_pin         // Eingabeitem
//String secure_sequenz     // Eingegebene Pinfolge"
//Switch secure_ok          // EIN wenn pin richtig
//Selection item= secure_pin mappings=[ '1'='1', '2'='2', '3'='3']
//Selection item= secure_pin mappings=[ '4'='4', '5'='5', '6'='6']
//Selection item= secure_pin mappings=[ '7'='7', '8'='8', '9'='9']
//Selection item= secure_pin mappings=[ '*'='*', '0'='0', '#'='#']
//Text item=secure_pin     label="secure_pin [%s]"
//Text item=secure_sequenz label="secure_sequenz [%s]"
//Switch secure_ok

val Integer sequenzlaenge = 5 
val String  geheimePin = '1234#' 

rule "Codeeingabe zu String"
when 
    Item secure_pin changed 
then
    var String secure_pin_eingabe = secure_pin.state.toString() 
    secure_sequenz.postUpdate(secure_sequenz.state.toString().reverse().substring(0,sequenzlaenge -1).reverse() + secure_pin_eingabe)
end

rule "Sequenz Tastenkombi prüfen"
when 
    Item secure_sequenz changed
then
    if (secure_sequenz.state.toString() == geheimePin) {
    secure_ok.sendCommand(ON)  // freigabeitem
    Thread::sleep(500)
    secure_sequenz.postUpdate('XXXX') // Code löschen aus String-Speicher 
    }
    else {secure_ok.sendCommand(OFF)}
end

Ich sehe den Wald vor lauter Bäumen nicht, daher benötige ich BITTE eure Hilfe.
LG Merlin

Antworten