Auteur Topic: Domoticz - presence detection  (gelezen 16420 keer)

Offline vijv

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 2
Re: Domoticz - presence detection
« Reactie #15 Gepost op: 05 mei 2016, 00:29:52 »
Tnx, ik ga er mee aan de slag  :)
  • Mijn Synology: DS1512+
  • HDD's: 5x WD green 3TB

Offline hokkie

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 2
Re: Domoticz - presence detection
« Reactie #16 Gepost op: 03 juli 2016, 16:47:33 »
En? Heb je een oplossing gevonden om deze script 'live' te houden?
  • Mijn Synology: DS716+
  • HDD's: 2x Seagate

Offline EdKo66

  • Bedankjes
  • -Gegeven: 21
  • -Ontvangen: 1
  • Berichten: 46
Re: Domoticz - presence detection
« Reactie #17 Gepost op: 04 september 2017, 10:23:58 »

In principe zou het allemaal redelijk simpel moeten kunnen met een shell-scriptje. Iets als:

#!/bin/ash
 
# Settings
PRESENCE_IP="192.168.131.88" # IP Address of Device to be checked
DOMO_IP="192.168.131.21" # Domoticz IP Address
DOMO_PORT="8084" # Domoticz Port
PRESENCE_IDX="65" # DEVICE Switch IDX
WAIT_TIME="10" # Time to wait before retry
LOOPCOUNTER=3 # Number of retries

# DO NOT MODIFY BELOW HERE
# Check if DEVICE in online
echo $(date) "Device presence check starting" >> /var/log/cron.log

# Function check: pings te specified device
check()
{
PINGTIME=`ping -c1 -q $PRESENCE_IP | awk -F"/" '{print $5}' | xargs`
echo "Pingtime:" $PINGTIME

  if expr "$PINGTIME" '>' 0
then
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$PRESENCE_IDX" | grep "Status" | grep "On" > /dev/null
if [ $? -eq 0 ] ; then
echo "DEVICE is ON"
else
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=switchlight&idx=$PRESENCE_IDX&switchcmd=On"
echo "DEVICE switched ON"
fi
echo $(date) "Device presence check finished" >> /var/log/cron.log
exit
else
if expr "$LOOPCOUNTER" '=' 0
then
curl -s "http://$DOMO_IP:$DOMO_PORT/json.htm?type=devices&rid=$PRESENCE_IDX" | grep "Status" | grep "Off" > /dev/null
if [ $? -eq 0 ] ; then
echo "DEVICE is OFF"
echo $(date) "Device presence check finished" >> /var/log/cron.log
exit
else
echo "DEVICE OFF"
# Send data
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=switchlight&idx=$PRESENCE_IDX&switchcmd=Off"
echo $(date) "Device presence check finished" >> /var/log/cron.log
exit
fi
fi
fi
}

# Main loop
while [ $LOOPCOUNTER -gt 0 ]; do
echo "Retries left: " $LOOPCOUNTER
LOOPCOUNTER=$((LOOPCOUNTER - 1))
check
echo "...waiting..."
sleep $WAIT_TIME
done

Als je nu dit script in een cronjob giet zou e.e.a. moeten gaan werken.
Let op:
- script moet executable geflagged worden
- script moet Unix regeleinden bevatten (Niet via een Windows editor (Kladblok) maken)
- correcte aanroep van script in cronjob: /volume1/@appstore/domoticz/scripts/Presence.sh

Ik hoop dat je er wat mee kunt...

Wizjos

Heel oude post, maar na van alles te hebben uitgeprobeerd, lijkt dit tenminste te werken. In ieder geval in een test-situatie.

Bedankt
  • Mijn Synology: DS413j
DS413j - 3x WD20PURX-64P6ZY0 1x WD30PURX-64P6ZY0
External: Seagate Expansion Desk 2TB


 

Domoticz > SSL

Gestart door error33Board Overige 3rd party packages

Reacties: 3
Gelezen: 3963
Laatste bericht 11 januari 2018, 18:04:49
door error33
Domoticz DS214+

Gestart door RemcovfBoard 3rd party Packages

Reacties: 1
Gelezen: 1688
Laatste bericht 17 januari 2020, 19:41:31
door wizjos
RFXCom docker domoticz probleem

Gestart door framuBoard Docker / Container Manager

Reacties: 4
Gelezen: 2229
Laatste bericht 25 juni 2021, 11:05:04
door mc_
VERPLAATST: RFXCom docker domoticz probleem

Gestart door BirdyBoard 3rd party apps integratie in DSM

Reacties: 0
Gelezen: 3830
Laatste bericht 25 februari 2021, 14:21:09
door Birdy
Domoticz

Gestart door Marco@70Board 3rd party Packages

Reacties: 3
Gelezen: 2639
Laatste bericht 13 juni 2017, 01:26:57
door aliazzz