]> _ Git - tortuga-home.git/commitdiff
.
authorVincent <vincent@enhydra.fr>
Sat, 6 Jul 2019 07:40:27 +0000 (09:40 +0200)
committerVincent <vincent@enhydra.fr>
Sat, 6 Jul 2019 07:40:27 +0000 (09:40 +0200)
.idea/workspace.xml
scripts/lib/domoticz.php
scripts/lib/medialibrary.php
scripts/lib/mediarasp.php
scripts/lib/remoteinfos.php
scripts/lib/scenes.php
scripts/lib/tmdb.php
scripts/raspberrycast.php
servers/domoticz.php [new file with mode: 0644]
servers/insteon.php

index eeb333e5a60966088d7b42f8735d334b17545100..c3d67885257cfd901455abaf0541bd96ff73c649 100644 (file)
@@ -2,11 +2,16 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="352ce63a-b52a-41a2-979b-becda7920939" name="Default" comment=".">
+      <change afterPath="$PROJECT_DIR$/servers/domoticz.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/ecomode.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/ecomode.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/harmony.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/harmony.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/scripts/lib/lib.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/lib.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/domoticz.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/domoticz.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/medialibrary.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/medialibrary.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/scripts/lib/mediarasp.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/mediarasp.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/remoteinfos.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/remoteinfos.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/scenes.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/scenes.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/lib/tmdb.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/tmdb.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/scripts/raspberrycast.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/raspberrycast.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/servers/insteon.php" beforeDir="false" afterPath="$PROJECT_DIR$/servers/insteon.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/servers/cron.php">
+        <entry file="file://$PROJECT_DIR$/scripts/lib/scenes.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="51">
-              <caret line="3" column="31" selection-start-line="3" selection-start-column="31" selection-end-line="3" selection-end-column="31" />
+            <state relative-caret-position="198">
+              <caret line="770" column="12" selection-start-line="770" selection-start-column="12" selection-end-line="770" selection-end-column="12" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
+        <entry file="file://$PROJECT_DIR$/servers/insteon.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="170">
-              <caret line="25" column="27" selection-start-line="25" selection-start-column="27" selection-end-line="25" selection-end-column="27" />
+            <state relative-caret-position="-273">
+              <caret line="9" column="38" selection-start-line="9" selection-start-column="38" selection-end-line="9" selection-end-column="38" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/scripts/harmonyactivity.php">
+        <entry file="file://$PROJECT_DIR$/servers/domoticz.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="34">
-              <caret line="2" column="32" selection-start-line="2" selection-start-column="32" selection-end-line="2" selection-end-column="32" />
+            <state relative-caret-position="374">
+              <caret line="30" column="19" lean-forward="true" selection-start-line="30" selection-start-column="19" selection-end-line="30" selection-end-column="19" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/lib/harmony.php">
+        <entry file="file://$PROJECT_DIR$/scripts/insteon.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="154">
-              <caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
+            <state relative-caret-position="136">
+              <caret line="8" column="5" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/lib/lib.php">
+        <entry file="file://$PROJECT_DIR$/scripts/lib/insteon.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-74">
-              <caret line="377" column="26" selection-start-line="377" selection-start-column="26" selection-end-line="377" selection-end-column="26" />
+            <state relative-caret-position="1">
+              <caret line="35" selection-start-line="35" selection-end-line="44" selection-end-column="1" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/mediarasp.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="153">
-              <caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
-            </state>
-          </provider>
+        <entry file="file://$PROJECT_DIR$/scripts/domoticz_device_event.php">
+          <provider selected="true" editor-type-id="text-editor" />
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/lib/ecomode.php">
+        <entry file="file://$PROJECT_DIR$/scripts/lib/domoticz.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="187">
-              <caret line="11" column="33" selection-start-line="11" selection-start-column="33" selection-end-line="11" selection-end-column="33" />
+            <state relative-caret-position="17">
+              <caret line="1" column="36" lean-forward="true" selection-start-line="1" selection-start-column="36" selection-end-line="1" selection-end-column="36" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/lib/medialibrary.php">
+        <entry file="file://$PROJECT_DIR$/scripts/bedroomlight.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="2414">
-              <caret line="142" selection-start-line="142" selection-end-line="142" />
+            <state relative-caret-position="119">
+              <caret line="7" column="8" lean-forward="true" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="13" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/scripts/lib/mediarasp.php">
+        <entry file="file://$PROJECT_DIR$/scripts/lib/medialibrary.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="458">
-              <caret line="410" column="1" lean-forward="true" selection-start-line="410" selection-start-column="1" selection-end-line="410" selection-end-column="1" />
+            <state relative-caret-position="223">
+              <caret line="151" column="1" selection-start-line="151" selection-start-column="1" selection-end-line="151" selection-end-column="1" />
             </state>
           </provider>
         </entry>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/scripts/lib/tmdb.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="291">
-              <caret line="528" selection-start-line="527" selection-end-line="527" selection-end-column="9" />
+            <state relative-caret-position="385">
+              <caret line="448" column="9" selection-start-line="448" selection-start-column="9" selection-end-line="448" selection-end-column="9" />
             </state>
           </provider>
         </entry>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>convertv</find>
-      <find>cronOn</find>
-      <find>crontrans</find>
-      <find>.srt</find>
-      <find>Youtubed</find>
-      <find>remote-c</find>
-      <find>fast-forward</find>
-      <find>replay</find>
-      <find>shortc</find>
-      <find>ecomode</find>
       <find>home/of</find>
       <find>wc/</find>
       <find>cronWeather</find>
       <find>startserver</find>
       <find>seen</find>
       <find>x264</find>
+      <find>display</find>
+      <find>OMXcmd</find>
+      <find>VLCPl</find>
+      <find>VLCCmd</find>
+      <find>OMX</find>
+      <find>@ead</find>
+      <find>cmd</find>
+      <find>cheminee</find>
+      <find>sudo at</find>
+      <find>sudo</find>
     </findStrings>
     <replaceStrings>
       <replace />
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/scripts/imageproxy.php" />
-        <option value="$PROJECT_DIR$/package/package.json" />
-        <option value="$PROJECT_DIR$/scripts/sleeppc.php" />
         <option value="$PROJECT_DIR$/scripts/lib/bricks.php" />
         <option value="$PROJECT_DIR$/scripts/gradient.php" />
         <option value="$PROJECT_DIR$/style/common.less" />
         <option value="$PROJECT_DIR$/scripts/ecomode.php" />
         <option value="$PROJECT_DIR$/scripts/pop.php" />
         <option value="$PROJECT_DIR$/scripts/lib/traffic.php" />
-        <option value="$PROJECT_DIR$/scripts/lib/remoteinfos.php" />
         <option value="$PROJECT_DIR$/scripts/lib/heartbeats.php" />
         <option value="$PROJECT_DIR$/scripts/lib/squeezebox.php" />
         <option value="$PROJECT_DIR$/scripts/domoticz_device_event.php" />
         <option value="$PROJECT_DIR$/scripts/seen.php" />
         <option value="$PROJECT_DIR$/scripts/transcode.php" />
         <option value="$PROJECT_DIR$/scripts/lib/state.php" />
-        <option value="$PROJECT_DIR$/scripts/lib/scenes.php" />
         <option value="$PROJECT_DIR$/gradient.php" />
-        <option value="$PROJECT_DIR$/scripts/lib/domoticz.php" />
         <option value="$PROJECT_DIR$/config/global.php" />
         <option value="$PROJECT_DIR$/servers/stopdaemon" />
         <option value="$PROJECT_DIR$/servers/startdaemon" />
         <option value="$PROJECT_DIR$/servers/startserver" />
         <option value="$PROJECT_DIR$/servers/stopserver" />
         <option value="$PROJECT_DIR$/.gitignore" />
-        <option value="$PROJECT_DIR$/scripts/lib/tmdb.php" />
-        <option value="$PROJECT_DIR$/scripts/lib/medialibrary.php" />
         <option value="$PROJECT_DIR$/scripts/cron/cron.php" />
         <option value="$PROJECT_DIR$/scripts/lib/ecomode.php" />
         <option value="$PROJECT_DIR$/scripts/lib/harmony.php" />
         <option value="$PROJECT_DIR$/scripts/lib/lib.php" />
+        <option value="$PROJECT_DIR$/scripts/raspberrycast.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/remoteinfos.php" />
         <option value="$PROJECT_DIR$/scripts/lib/mediarasp.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/medialibrary.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/scenes.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/domoticz.php" />
+        <option value="$PROJECT_DIR$/servers/domoticz.php" />
+        <option value="$PROJECT_DIR$/servers/insteon.php" />
+        <option value="$PROJECT_DIR$/scripts/lib/tmdb.php" />
       </list>
     </option>
   </component>
     </include_path>
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="986" />
-    <option name="y" value="151" />
-    <option name="width" value="1288" />
-    <option name="height" value="548" />
+    <option name="x" value="-7" />
+    <option name="y" value="154" />
+    <option name="width" value="1562" />
+    <option name="height" value="893" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="true">
     <OptionsSetting value="false" id="Update" />
               <item name="scripts" type="462c0819:PsiDirectoryNode" />
               <item name="lib" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="home" type="b2602c69:ProjectViewProjectNode" />
+              <item name="home" type="462c0819:PsiDirectoryNode" />
+              <item name="servers" type="462c0819:PsiDirectoryNode" />
+            </path>
           </expand>
           <select />
         </subPane>
       <workItem from="1561934010303" duration="84000" />
       <workItem from="1561934113835" duration="5092000" />
       <workItem from="1561964740224" duration="5531000" />
-    </task>
-    <task id="LOCAL-00136" summary=".">
-      <created>1549743013648</created>
-      <option name="number" value="00136" />
-      <option name="presentableId" value="LOCAL-00136" />
-      <option name="project" value="LOCAL" />
-      <updated>1549743013648</updated>
+      <workItem from="1562139612183" duration="879000" />
+      <workItem from="1562187458066" duration="10928000" />
+      <workItem from="1562315270549" duration="2203000" />
     </task>
     <task id="LOCAL-00137" summary=".">
       <created>1549794720705</created>
       <option name="project" value="LOCAL" />
       <updated>1561965106324</updated>
     </task>
-    <option name="localTasksCounter" value="185" />
+    <task id="LOCAL-00185" summary=".">
+      <created>1562139892305</created>
+      <option name="number" value="00185" />
+      <option name="presentableId" value="LOCAL-00185" />
+      <option name="project" value="LOCAL" />
+      <updated>1562139892306</updated>
+    </task>
+    <option name="localTasksCounter" value="186" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="1220836000" />
+    <option name="totallyTimeSpent" value="1234846000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="2576" height="1056" extended-state="6" />
+    <editor active="true" />
     <layout>
       <window_info id="Nl-Palette" order="0" />
       <window_info id="Image Layers" order="1" />
       <window_info id="Designer" order="3" />
       <window_info id="UI Designer" order="4" />
       <window_info id="Favorites" order="5" sideWeight="0.4576547" side_tool="true" weight="0.22506666" />
-      <window_info active="true" content_ui="combo" id="Project" order="6" sideWeight="0.49456522" visible="true" weight="0.21343403" />
+      <window_info content_ui="combo" id="Project" order="6" sideWeight="0.49456522" visible="true" weight="0.2182035" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" sideWeight="0.48251194" visible="true" weight="0.30444205" />
       <window_info anchor="bottom" id="Run" order="2" sideWeight="0.4674086" weight="0.3217768" />
       <window_info anchor="right" id="Palette&#9;" order="7" />
       <window_info anchor="right" id="Capture Analysis" order="8" />
       <window_info anchor="right" id="Theme Preview" order="9" />
-      <window_info anchor="right" id="Remote Host" order="10" sideWeight="0.49221185" visible="true" weight="0.0918124" />
+      <window_info active="true" anchor="right" id="Remote Host" order="10" sideWeight="0.48753893" visible="true" weight="0.0918124" />
       <window_info anchor="right" id="SciView" order="11" weight="0.3298887" />
-      <window_info anchor="right" id="Structure" order="12" sideWeight="0.5077882" side_tool="true" visible="true" weight="0.0918124" />
+      <window_info anchor="right" id="Structure" order="12" sideWeight="0.51246107" side_tool="true" visible="true" weight="0.0918124" />
       <window_info anchor="right" id="Data View" order="13" />
       <window_info anchor="right" id="Maven" order="14" />
     </layout>
     <MESSAGE value="." />
     <option name="LAST_COMMIT_MESSAGE" value="." />
   </component>
-  <component name="XDebuggerManager">
-    <breakpoint-manager>
-      <breakpoints>
-        <line-breakpoint enabled="true" type="php">
-          <url>file://$PROJECT_DIR$/scripts/lib/mediarasp.php</url>
-          <line>266</line>
-          <option name="timeStamp" value="1" />
-        </line-breakpoint>
-      </breakpoints>
-    </breakpoint-manager>
-  </component>
   <component name="antWorkspaceConfiguration">
     <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/config/entree.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="153">
-          <caret line="9" column="31" selection-start-line="9" selection-start-column="31" selection-end-line="9" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/lit.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="31" selection-start-line="5" selection-start-column="31" selection-end-line="5" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/litjerome.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="102">
-          <caret line="6" column="31" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/litvincent.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" column="31" selection-start-line="5" selection-start-column="31" selection-end-line="5" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/remote.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="11" column="79" selection-start-line="11" selection-start-column="79" selection-end-line="11" selection-end-column="79" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/rooms.php">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/salon.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="31" selection-start-line="8" selection-start-column="31" selection-end-line="8" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/sdb.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="204">
-          <caret line="12" column="31" selection-start-line="12" selection-start-column="31" selection-end-line="12" selection-end-column="31" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/config/wc.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="23" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="23" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/config/bureausun.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="51">
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/index.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="136">
-          <caret line="8" column="30" selection-start-line="8" selection-start-column="30" selection-end-line="8" selection-end-column="30" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/scripts/import.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="221">
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/scenes.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="9231">
-          <caret line="543" column="9" selection-start-line="543" selection-start-column="9" selection-end-line="543" selection-end-column="9" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/harmony.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="4" column="27" selection-start-line="4" selection-start-column="27" selection-end-line="4" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/scripts/lib/squeezebox.php">
       <provider selected="true" editor-type-id="text-editor">
         <state>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/domoticz.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="4" column="45" selection-start-line="4" selection-start-column="45" selection-end-line="4" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/servers/_startdaemon.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="85">
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/servers/insteon.php">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
     <entry file="file://$PROJECT_DIR$/config/tv.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="663">
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/tmdb.php">
+    <entry file="file://$PROJECT_DIR$/servers/cron.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="291">
-          <caret line="528" selection-start-line="527" selection-end-line="527" selection-end-column="9" />
+        <state relative-caret-position="51">
+          <caret line="3" column="31" selection-start-line="3" selection-start-column="31" selection-end-line="3" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/medialibrary.php">
+    <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2414">
-          <caret line="142" selection-start-line="142" selection-end-line="142" />
+        <state relative-caret-position="425">
+          <caret line="25" column="27" selection-start-line="25" selection-start-column="27" selection-end-line="25" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/servers/cron.php">
+    <entry file="file://$PROJECT_DIR$/scripts/lib/harmony.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="51">
-          <caret line="3" column="31" selection-start-line="3" selection-start-column="31" selection-end-line="3" selection-end-column="31" />
+        <state relative-caret-position="561">
+          <caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/cron/cron.php">
+    <entry file="file://$PROJECT_DIR$/scripts/lib/lib.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="170">
-          <caret line="25" column="27" selection-start-line="25" selection-start-column="27" selection-end-line="25" selection-end-column="27" />
+        <state relative-caret-position="6409">
+          <caret line="377" column="26" selection-start-line="377" selection-start-column="26" selection-end-line="377" selection-end-column="26" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/mediarasp.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="153">
+          <caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
         </state>
       </provider>
     </entry>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/harmony.php">
+    <entry file="file://$PROJECT_DIR$/scripts/harmonyactivity.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="154">
-          <caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
+        <state relative-caret-position="17">
+          <caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/lib/lib.php">
+    <entry file="file://$PROJECT_DIR$/scripts/harmony.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-74">
-          <caret line="377" column="26" selection-start-line="377" selection-start-column="26" selection-end-line="377" selection-end-column="26" />
+        <state relative-caret-position="68">
+          <caret line="4" column="27" selection-start-line="4" selection-start-column="27" selection-end-line="4" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/mediarasp.php">
+    <entry file="file://$PROJECT_DIR$/scripts/remotecmd.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="153">
-          <caret line="9" column="21" selection-start-line="9" selection-start-column="21" selection-end-line="9" selection-end-column="21" />
+        <state relative-caret-position="221">
+          <caret line="13" column="12" selection-start-line="13" selection-start-column="12" selection-end-line="13" selection-end-column="12" />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/remoteinfos.php">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
     <entry file="file://$PROJECT_DIR$/scripts/lib/mediarasp.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="458">
-          <caret line="410" column="1" lean-forward="true" selection-start-line="410" selection-start-column="1" selection-end-line="410" selection-end-column="1" />
+        <state relative-caret-position="7310">
+          <caret line="430" column="11" selection-start-line="430" selection-start-column="11" selection-end-line="430" selection-end-column="43" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/scripts/harmonyactivity.php">
+    <entry file="file://$PROJECT_DIR$/scripts/lib/remoteinfos.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="34">
-          <caret line="2" column="32" selection-start-line="2" selection-start-column="32" selection-end-line="2" selection-end-column="32" />
+        <state relative-caret-position="2091">
+          <caret line="123" column="32" selection-start-line="123" selection-start-column="32" selection-end-line="123" selection-end-column="32" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/raspberrycast.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="102">
+          <caret line="6" column="34" selection-start-line="6" selection-start-column="34" selection-end-line="6" selection-end-column="34" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/index.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="85">
+          <caret line="5" column="8" selection-start-line="5" selection-start-column="8" selection-end-line="5" selection-end-column="8" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/medialibrary.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="223">
+          <caret line="151" column="1" selection-start-line="151" selection-start-column="1" selection-end-line="151" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/bedroomlight.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="119">
+          <caret line="7" column="8" lean-forward="true" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/insteon.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="136">
+          <caret line="8" column="5" selection-start-line="8" selection-start-column="5" selection-end-line="8" selection-end-column="5" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/insteon.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1">
+          <caret line="35" selection-start-line="35" selection-end-line="44" selection-end-column="1" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/domoticz_device_event.php">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/scenes.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="198">
+          <caret line="770" column="12" selection-start-line="770" selection-start-column="12" selection-end-line="770" selection-end-column="12" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/domoticz.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="17">
+          <caret line="1" column="36" lean-forward="true" selection-start-line="1" selection-start-column="36" selection-end-line="1" selection-end-column="36" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/servers/insteon.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-273">
+          <caret line="9" column="38" selection-start-line="9" selection-start-column="38" selection-end-line="9" selection-end-column="38" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/scripts/lib/tmdb.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="385">
+          <caret line="448" column="9" selection-start-line="448" selection-start-column="9" selection-end-line="448" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/servers/domoticz.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="374">
+          <caret line="30" column="19" lean-forward="true" selection-start-line="30" selection-start-column="19" selection-end-line="30" selection-end-column="19" />
         </state>
       </provider>
     </entry>
index d327c464fad85ed7be199df7ad559906e75417d2..5c81668a72d9c5891d59d62e3166090b64a3c77a 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-function domoticzCmd($params)
+function runDomoticzCommand($params)
 {
     $default = ['type' => 'command', 'passcode' => ''];
     $params = array_merge($default, $params);
@@ -10,4 +10,15 @@ function domoticzCmd($params)
 function domoticzSwitch($device, $cmd, $type = 'light')
 {
     return domoticzCmd(['idx' => $device, 'switchcmd' => $cmd ? 'On' : 'Off', 'param' => 'switch' . $type, 'level' => '0']);
+}
+
+function domoticzCmd($command)
+{
+    $redis = connectRedis();
+    $queue = $redis->get('domoticz_queue');
+    if (!is_array($queue)) {
+        $queue = [];
+    }
+    $queue[] = $command;
+    $redis->set('domoticz_queue', $queue);
 }
\ No newline at end of file
index 63484a8bb51a944a30f696a7f37c61ca69bdc4f8..0b0514c609018add5d4d0643f15b82324ba86a13 100644 (file)
@@ -150,7 +150,6 @@ class DirFilter extends RecursiveFilterIterator
         return new DirFilter($this->getInnerIterator()->getChildren(), $this->exclude);
     }
 }
-
 function getVideosList($shuffle = false)
 {
     global $videoExt;
index e4ee04193ab6833738bca8d194072bf6efafdaef..e731d299845a4c4a9f492544f89116048bb3a312 100644 (file)
@@ -135,15 +135,15 @@ function remoteCmdMedia($cmd, $device = null, $playing = null)
         $device = config('DEVICE');
     }
 
-    $map = ['play' => 'p',
-        'pause' => 'p',
-        'stop' => 'q',
-        'exit' => 'q',
+    $map = ['play' => 'pl_pause',
+        'pause' => 'pl_pause',
+        'stop' => 'pl_stop',
+        'exit' => 'pl_stop',
         'title' => 'm',
-        'rewind' => 'left',
-        'forward' => 'right',
-        'fast-rewind' => 'down',
-        'fast-forward' => 'up',
+        'rewind' => 'rewind',
+        'forward' => 'forward',
+        'fast-rewind' => 'fast-rewind',
+        'fast-forward' => 'fast-forward',
         'info' => 'z',
         'direction-left' => 'down',
         'direction-right' => 'up',
@@ -168,9 +168,23 @@ function remoteCmdMedia($cmd, $device = null, $playing = null)
 
 
     if (null === $playing || $playing == 'mediarasp') {
-        $params = ['action' => 'shortcut', 'shortcut' => $key];
-        OMXCmd($params, $device);
-        echo 'omx cmd ' . print_r($params, true) . ' ' . $device;
+        if ($key == 'rewind' || $key == 'fast-rewind' || $key == 'forward' || $key == 'fast-forward') {
+            if ($key == 'rewind' || $key == 'forward') {
+                $amount = 15;
+            } else if ($key == 'fast-rewind' || $key == 'fast-forward') {
+                $amount = 300;
+            }
+            if ($key == 'rewind' || $key == 'fast-rewind') {
+                $way = '-';
+            } else if ($key == 'forward' || $key = 'fast-forward') {
+                $way = '+';
+            }
+            $res = VLCCmd(['command' => 'seek', 'val' => $way . $amount . 's'], $device);
+        } else {
+            $params = ['command' => $key];
+            $res = VLCCmd($params, $device);
+        }
+        echo $res;
     }
 
     $mapRaspberryCast = ['p' => ['url' => 'video', 'data' => ['control' => 'pause']],
@@ -240,7 +254,7 @@ function mediaRaspPlayMovie($movie, $device = null)
 
     }
 
-    $res = OMXCmd(['action' => 'shortcut', 'shortcut' => 'start', 'path' => $movie], $device);
+    $res = VLCPlay($movie, $device);
     mediaRaspPostPlay($device);
 
     setPlaying('mediarasp:' . $movie, $device);
@@ -275,7 +289,7 @@ function mediaRaspPlayStream($url, $device = null)
 {
     setPlaying('mediarasp:' . $url, $device);
     mediaRaspCommons($device);
-    $res = OMXCmd(['action' => 'shortcut', 'shortcut' => 'start', 'path' => $url], $device);
+    $res = VLCPlay($url, $device);
     mediaRaspPostPlay($device);
     try {
         raspberryCast('video', $device, ['control' => 'stop']);
@@ -306,7 +320,7 @@ function mediaRaspPlayCast($castURL, $device = null)
     mediaRaspCommons($device);
     $dest = downloadYoutubeDL($castURL);
     getYoutubeDLMeta($castURL);
-    $res = OMXCmd(['action' => 'shortcut', 'shortcut' => 'start', 'path' => $dest], $device);
+    $res = VLCPlay($dest, $device);
     mediaRaspPostPlay($device);
     setPlaying('mediarasp:cast:' . $castURL);
     return $res;
@@ -392,6 +406,51 @@ function getMediaRaspClient()
     return $mediaraspclient;
 }
 
+function getDevice($device = null)
+{
+    global $devices;
+    if (is_array($device) && isset($device['host'])) {
+        return $device;
+    }
+    if (null === $device) {
+        $device = config('DEVICE');
+    }
+    return $devices[$device];
+}
+
+function VLCCmd($params, $device = null, $timeout = 5)
+{
+    $d = getDevice($device);
+    if (isset($params['query'])) {
+        $query = $params['query'];
+        unset($params['query']);
+    } else {
+        $query = 'requests/status.xml';
+    }
+    $url='http://' . $d['host'] . ':8754/' . $query;
+   // echo $url.': '.print_r($params,true);
+    $client = getMediaRaspClient();
+    try {
+        $response = $client->get($url, ['query' => $params, 'timeout' => $timeout, 'auth' => ['', 'atacama']]);
+        return $response->getBody();
+    } catch (Exception $e) {
+        echo $d['host'] . print_r($params) . ':' . $e->getMessage();
+        return false;
+    }
+
+}
+
+function VLCPlay($fileorstream, $device = null, $timeout = 5)
+{
+    $device = getDevice($device);
+    VLCCmd(['command' => 'pl_empty'], $device, $timeout);
+    if (file_exists($fileorstream)) {
+        $fileorstream = 'file://' . $fileorstream;
+    }
+    return VLCCmd(['command' => 'in_play', 'input' => $fileorstream], $device, $timeout);
+}
+
+
 function OMXCmd($params, $device = null, $timeout = 5)
 {
     global $devices;
@@ -404,7 +463,7 @@ function OMXCmd($params, $device = null, $timeout = 5)
     try {
         $response = $client->post('http://' . $d['host'] . ':4321/index.php/index/', ['form_params' => $params, 'timeout' => $timeout]);
     } catch (Exception $e) {
-        echo $d['host'].print_r($params).':'.$e->getMessage();
+        echo $d['host'] . print_r($params) . ':' . $e->getMessage();
         return false;
     }
     return $response;
index ebfe42fb841ea5a1fbbbcf0a82489aa74a8761fb..a63dd9e89b169bd6af30c8bd6dc3db27835702bb 100644 (file)
@@ -64,58 +64,56 @@ function mediaraspRemoteInfos()
     $res['time'] = '';
     $res['title'] = '';
     $res['artwork'] = '';
-    $omx = OMXCmd(['action' => 'dbus', 'command' => 'status']);
-    if ($omx) {
-        $omx = $omx->getBody();
-        $res['response'] = (string)$omx;
-    } else {
-        $omx = false;
-    }
 
-    if ($omx == '0') {
-        $omx = false;
+    $d = getDevice();
+    $playlist = simplexml_load_string(VLCCmd(['query' => 'requests/playlist.xml'], $d));
+    $status = simplexml_load_string(VLCCmd(['query' => 'requests/status.xml'], $d));
+
+    $leaf = $playlist->xpath('//leaf[@current="current"]');
+    if (count($leaf) > 0) {
+        $source = str_replace('file://', '', (string)$leaf[0]['uri']);
+    } else {
+        return $res;
     }
 
-    if ($omx) {
-        $status = json_decode($omx, true)['status'];
-        $res['can_seek'] = true;
-        $res['duration'] = $status['duration'] / 1000000;
-        $res['time'] = $status['position'] / 1000000;
+    $res['can_seek'] = true;
+    $res['duration'] = intval((string)$status->xpath('//length')[0]);
+    $res['time'] = intval((string)$status->xpath('//time')[0]);
 
-        if (preg_match("|^\/nas\/Videos\/YoutubeDL\/([a-f0-9]{40})\.mp4$|", $status['source'], $matches)) {
-            $meta = getYoutubeDLMeta($matches[1], true);
-            $res['title'] = $meta['title'];
-            $res['artwork'] = $meta['thumbnail'];
+    if (preg_match("|^\/nas\/Videos\/YoutubeDL\/([a-f0-9]{40})\.mp4$|", $source, $matches)) {
+        $meta = getYoutubeDLMeta($matches[1], true);
+        $res['title'] = $meta['title'];
+        $res['artwork'] = $meta['thumbnail'];
+    } else {
+        $file = str_replace('/nas', '/volume1/Share', $source);
+        if (file_exists($file . '.tmdb.id')) {
+            $id = file_get_contents($file . '.tmdb.id');
+            if (intval($id) > 0) {
+                $library = new moviesLibrary($directories);
+                $movie = $library->getMovieByID($id);
+                $res['title'] = $movie['title'];
+                $res['artwork'] = 'https://image.tmdb.org/t/p/w500' . $movie['backdrop_path'];
+            }
         } else {
-            $file = str_replace('/nas', '/volume1/Share', $status['source']);
-            if (file_exists($file . '.tmdb.id')) {
-                $id = file_get_contents($file . '.tmdb.id');
-                if (intval($id) > 0) {
-                    $library = new moviesLibrary($directories);
-                    $movie = $library->getMovieByID($id);
-                    $res['title'] = $movie['title'];
-                    $res['artwork'] = 'https://image.tmdb.org/t/p/w500' . $movie['backdrop_path'];
-                }
-            } else {
-                $f = new SplFileInfo($file);
-                preg_match('|S(\d{2})/S\d{2}E(\d{2})|', $f, $matches);
-                $tvid = $f->getPath() . '/../.tmdb.id';
-
-                if (file_exists($tvid)) {
-                    $id = file_get_contents($tvid);
-                    if (intval($id)) {
-                        $library = new tvShowLibrary($directories);
-                        $tvshow = $library->getTVShowById($id);
-                        $res['title'] = $tvshow['name'];
-                        if (count($matches) > 0) {
-                            $res['title'] .= '<br>S' . $matches[1] . ' E' . $matches[2];
-                        }
-                        $res['artwork'] = 'https://image.tmdb.org/t/p/w500' . $tvshow['backdrop_path'];
+            $f = new SplFileInfo($file);
+            preg_match('|S(\d{2})/S\d{2}E(\d{2})|', $f, $matches);
+            $tvid = $f->getPath() . '/../.tmdb.id';
+
+            if (file_exists($tvid)) {
+                $id = file_get_contents($tvid);
+                if (intval($id)) {
+                    $library = new tvShowLibrary($directories);
+                    $tvshow = $library->getTVShowById($id);
+                    $res['title'] = $tvshow['name'];
+                    if (count($matches) > 0) {
+                        $res['title'] .= '<br>S' . $matches[1] . ' E' . $matches[2];
                     }
+                    $res['artwork'] = 'https://image.tmdb.org/t/p/w500' . $tvshow['backdrop_path'];
                 }
             }
         }
     }
+
     return $res;
 }
 
@@ -147,9 +145,8 @@ function squeezeboxRemoteProgress($progress)
 function mediaraspRemoteProgress($progress)
 {
     $infos = mediaraspRemoteInfos();
-    $infos['position'] = $progress * $infos['duration'];
-    $time = $infos['position'] * 1000000;
+    $infos['time'] = $progress * $infos['duration'];
 
-    OMXCmd(['action' => 'dbus', 'command' => 'setposition', 'parameter' => $time]);
+    VLCCmd(['command' => 'seek', 'val' => ($progress * 100) . '%']);
     return $infos;
 }
\ No newline at end of file
index cd8151abaa5cae04fce259c404abac9de57df69d..d3e8734b5960021db843d339b7007142a7d8a05f 100644 (file)
@@ -602,7 +602,7 @@ function execScene($name, $fromUserAction = false)
                 $timeout = $action['delay'] + 30;
                 $url = WEB_ROOT . 'scripts/light.php?r=' . $action['r'] . '&delay=' . $action['delay'] . '&scene=' . $action['scene'] . '&sid=' . session_id();
                 $lynx = "lynx -connect_timeout=$timeout -dump \"$url\"";
-                $cmd = "echo '$lynx' | sudo at now 2>&1";
+                $cmd = "echo '$lynx' | at now 2>&1";
                 $res = `$cmd`;
                 echo $cmd . " : $res\n";
             } else {
@@ -729,14 +729,14 @@ function cheminee($lightId, $room = 'salon', $program = 'fire', $brightness = 1)
 function killCheminee($room)
 {
     // Kill current animation
-    $kill = "sudo /bin/kill $(ps aux | grep '[c]heminee_running/" . $room . "' | awk '{print $2}')";
+    $kill = "/bin/kill $(ps aux | grep '[c]heminee_running/" . $room . "' | awk '{print $2}')";
     return `$kill`;
 }
 
 function chemineeLight($lightId, $room, $program = 'fire', $brightness = 1)
 {
     $run = "export QUERY_STRING=\"cheminee=running&light=" . $lightId . "&room=" . $room . "&program=" . $program . "&brightness=" . $brightness . "&sid=" . session_id() . "\";php -e " . __DIR__ . '/../light.php -- cheminee_running/' . $room;
-    $cmd = "echo '$run' | sudo at now 2>&1";
+    $cmd = "echo '$run' | at now 2>&1";
     return $cmd . ' : ' . `$cmd`;
 }
 
index d00e4381eb3d5489ac85e552ea294f4a98d7275e..60c7c9f41be83d412214ab0b7f31d31389b9a173 100644 (file)
@@ -290,19 +290,22 @@ class mediaLibrary
     {
         $d = dir($dirName);
         $lastModified = 0;
-        while ($entry = $d->read()) {
-            if ($entry != "." && $entry != "..") {
-                if (!is_dir($dirName . "/" . $entry) && file_exists($dirName . "/" . $entry)) {
-                    $currentModified = filemtime($dirName . "/" . $entry);
-                } else if ($doRecursive && is_dir($dirName . "/" . $entry)) {
-                    $currentModified = $this->dirfilemtime($dirName . "/" . $entry, true);
-                }
-                if (isset($currentModified) && $currentModified > $lastModified) {
-                    $lastModified = $currentModified;
+        if ($d !== false) {
+            while ($entry = $d->read()) {
+                if ($entry != "." && $entry != "..") {
+                    if (!is_dir($dirName . "/" . $entry) && file_exists($dirName . "/" . $entry)) {
+                        $currentModified = filemtime($dirName . "/" . $entry);
+                    } else if ($doRecursive && is_dir($dirName . "/" . $entry)) {
+                        $currentModified = $this->dirfilemtime($dirName . "/" . $entry, true);
+                    }
+                    if (isset($currentModified) && $currentModified > $lastModified) {
+                        $lastModified = $currentModified;
+                    }
                 }
             }
+            $d->close();
+            return $lastModified;
         }
-        $d->close();
         return $lastModified;
     }
 }
@@ -434,17 +437,20 @@ class moviesLibrary extends mediaLibrary
     public function getGenreShortcuts()
     {
         $genres = [];
-        foreach ($this->movies as $movie) {
-            foreach ($movie['data']['genres'] as $genre) {
-                if (!isset($genres[$genre['name']])) {
-                    $genres[$genre['name']] = [];
+        if (is_array($this->movies)) {
+            foreach ($this->movies as $movie) {
+                foreach ($movie['data']['genres'] as $genre) {
+                    if (!isset($genres[$genre['name']])) {
+                        $genres[$genre['name']] = [];
+                    }
+                    $genres[$genre['name']][] = $movie;
                 }
-                $genres[$genre['name']][] = $movie;
             }
         }
         ksort($genres);
 
         return $this->_makeSub($genres, 'movies-genre-', 'Films par genre');
+
     }
 
     public function getLanguagesShortcuts()
@@ -487,7 +493,7 @@ class moviesLibrary extends mediaLibrary
             $client = getTmbdClient();
             try {
                 $movie = $client->getMoviesApi()->getMovie($id, ['language' => 'fr-FR']);
-                connectRedis()->set('tmdb.movie.' . $id, $movie, ['EX' => 86400]);
+                connectRedis()->setex('tmdb.movie.' . $id, 86400, $movie);
                 return $movie;
             } catch (Exception $e) {
                 return null;
index cb0586461a90660e6f34c6f61f0ba3c32256a661..f4754569672c2e87ca0c3a1cc3d0688ad23c58d0 100644 (file)
@@ -4,6 +4,6 @@ require_once "import.php";
 if ($_GET['action'] == 'init') {
        setPlaying('raspberrycast:' . $_GET['url'], $_GET['device']);
        execScene($_GET['device'] . '/media/play');
-       OMXCmd(['action' => 'shortcut', 'shortcut' => 'q'], $_GET['device']);
+       VLCCmd([ 'command' => 'pl_stop'], $_GET['device']);
        stopSqueezebox($_GET['device']);
 }
\ No newline at end of file
diff --git a/servers/domoticz.php b/servers/domoticz.php
new file mode 100644 (file)
index 0000000..51bcd9d
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/bin/php
+
+<?php
+require_once __DIR__ . "/../scripts/import.php";
+
+// Set time limit to indefinite execution
+set_time_limit(0);
+ignore_user_abort(true);
+
+$redis = connectRedis();
+
+echo 'Run home server domoticz' . "\n";
+
+while (true) {
+    $wait = handleDomoticzQueue();
+
+    if ($wait > 0) {
+        usleep($wait * 1000000);
+    }
+}
+
+function handleDomoticzQueue()
+{
+    global $redis;
+
+    $queue = $redis->get('domoticz_queue');
+    if (!is_array($queue)) {
+        $redis->set('domoticz_queue', []);
+    }
+    if (!count($queue)) {
+        return 0.1;
+    }
+
+    $command = array_shift($queue);
+    echo 'Run command ' . json_encode($command) . "\n";
+    runDomoticzCommand($command);
+    doneCommand($command);
+    return 1.5;
+}
+
+function doneCommand($command)
+{
+    global $redis;
+    $queue = $redis->get('domoticz_queue');
+    $res = [];
+    foreach ($queue as $item) {
+        if ($item == $command) {
+            continue;
+        }
+        $res[] = $item;
+    }
+    $redis->set('domoticz_queue', $res);
+    echo 'Done command : ' . json_encode($command) . "\n";
+}
\ No newline at end of file
index 67090d87fcbdb3d6c30ed92b121565bbe8764e7c..f1ef67f899f5b2cb4ac93338f3dc5106ac5d5d39 100644 (file)
@@ -7,44 +7,49 @@ require_once __DIR__ . "/../scripts/import.php";
 set_time_limit(0);
 ignore_user_abort(true);
 
+echo 'Run home server insteon' . "\n";
+
 $redis = connectRedis();
 while (true) {
-       $wait = handleInsteonQueue();
+    $wait = handleInsteonQueue();
 
-       if ($wait > 0) {
-               usleep($wait * 1000000);
-       }
+    if ($wait > 0) {
+        usleep($wait * 1000000);
+    }
 }
 
 function handleInsteonQueue()
 {
-       global $redis;
-       $queue = $redis->get('insteon_queue');
-       if (!is_array($queue) || !count($queue)) {
-               $redis->set('insteon_queue', []);
-               if (rand(1, 25) == 3) {
-                       insteonKnock();
-               }
-               return 0.1;
-       }
-       $command = array_shift($queue);
-       echo 'Run command ' . $command . "\n";
-       runInsteonCommand($command);
-       doneCommand($command);
-       return 0.1;
+    global $redis;
+    $queue = $redis->get('insteon_queue');
+    if (!is_array($queue)) {
+        $queue = [];
+        $redis->set('insteon_queue', $queue);
+    }
+    if (!count($queue)) {
+        if (rand(1, 25) == 3) {
+            insteonKnock();
+        }
+        return 0.1;
+    }
+    $command = array_shift($queue);
+    echo 'Run command ' . $command . "\n";
+    runInsteonCommand($command);
+    doneCommand($command);
+    return 0.1;
 }
 
 function doneCommand($command)
 {
-       global $redis;
-       $queue = $redis->get('insteon_queue');
-       $res = [];
-       foreach ($queue as $item) {
-               if ($item == $command) {
-                       continue;
-               }
-               $res[] = $item;
-       }
-       $redis->set('insteon_queue', $res);
-       echo 'Done command : ' . $command . "\n";
+    global $redis;
+    $queue = $redis->get('insteon_queue');
+    $res = [];
+    foreach ($queue as $item) {
+        if ($item == $command) {
+            continue;
+        }
+        $res[] = $item;
+    }
+    $redis->set('insteon_queue', $res);
+    echo 'Done command : ' . $command . "\n";
 }
\ No newline at end of file