Har med lite hjälp fått till JMRI så att jag kan slå på och av strömmen på spåren med hjälp av en tryckknapp. Praktiskt att inte behöva använda en app eller mus för att på igång strömmen efter en kortslutning.
Första steget var att koppla en tryckknapp till en ingång på datorn, i mitt fall en Raspberry Pi. För den delen fanns det bra instruktioner på JMRI hemsida.
JMRI har något som kallas "Sensor" som används för indata från anläggningen så steg två blev att skapa en "Sensor" som läste av ingången på datorn.
Viktigast att tänka på här (eftersom det var väl gömt) var att slå på pull-up resistorn eftersom det förvalda alternativet var pull-down och då funkar det inte att ha tryckknappen kopplad mellan ingång och jord.
Steg två är att koppla "Sensorn" till en händelse. Det kan man i JMRI göra med något som kallas "Logix".
Med "Logix" sätter man upp regler om vad som skall hända vid en händelse.
Här nedan står det att när Sensorn PS25 byter värde så skall JMRI köra ett script som finns i en fil som heter LayoutPowerOnOff.py
Tredje steget var att få till scriptet och här fick jag hjälp på JMRI användarforum. JMRI har integrerat ett script språk som heter Jython och som är Python fast på Java. Har aldrig hört talas om det tidigare men med lite Python och Java i bagaget gick det att få till ett fungerande program med klipp-och-klistra metoden (den idag i särklass vanligaste metoden att koda).
Kod: Markera allt
import jmri
if powermanager.getPower() == jmri.PowerManager.ON :
powermanager.setPower(jmri.PowerManager.OFF)
else :
powermanager.setPower(jmri.PowerManager.ON)
Det fungerar alldeles utmärkt men första gången man trycker på knappen tar det en stund för JMRI att ladda in allt som behövs och det kan ta en minut innan det är ström på banan. Efter det så reagerar JMRI direkt på knapptryckningar utan märkbar fördröjning.