add meteo home board

This commit is contained in:
2020-07-02 20:40:38 +02:00
parent 53f6cd19fa
commit b6143e67a8
5 changed files with 82 additions and 4 deletions

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AutomationController extends Controller
{
public function home()
{
$url = "http://192.168.1.32/meteo/meteo/api/?device=all&instant";
$client = new \GuzzleHttp\Client();
$promise = $client->requestAsync('GET', $url);
$response = $promise->wait();
return $response->getBody()->getContents();
}
}

View File

@@ -15,7 +15,7 @@
<script>
export default {
name: 'DomoticHome',
name: 'AutomaticLinksHome',
data: function () {
return {
links: [

View File

@@ -0,0 +1,56 @@
<template>
<div>
<div class="m-2">
<div class="card">
<div class="text-black m-2 p-2 flex flex-col">
<h2>Météo Home</h2>
<ul class="mt-2">
<li v-for="(captor, index) in captors" :key="index" class="block mb-4">
<div class="flex justify-between items-baseline mb-2">
<span class="font-bold text-lg">{{ captor.device }}</span>
<span class="text-sm">{{ captor.date_meteo }}</span>
</div>
<div class="flex flex-no-wrap text-sm -m-1">
<span v-if="captor.temperature" class="mx-1">{{ floated(captor.temperature) }} <span class="font-semibold text-xs">°C</span></span>
<span v-if="captor.humidite" class="mx-1">{{ floated(captor.humidite) }} <span class="font-semibold text-xs">%</span></span>
<span v-if="captor.pression" class="mx-1">{{ floated(captor.pression) }} <span class="font-semibold text-xs">hPa</span></span>
<span v-if="captor.lumiere" class="mx-1">{{ captor.lumiere }}</span>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'AutomaticMeteoHome',
data: function () {
return {
captors: null,
}
},
mounted() {
// eslint-disable-next-line no-undef
axios.get('/api/automation/home')
.then(response => {
this.captors = response.data.data
console.log(response.data.data)
})
.catch(() => {
console.log('Unable to fetch memos.')
})
},
methods: {
floated: function (value) {
return value.toFixed(2)
}
},
}
</script>
<style scoped>
</style>

View File

@@ -4,7 +4,8 @@
<div class="flex flex-wrap -m-2 mt-2">
<OpenWeatherCard class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
<MemoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
<DomoticHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
<AutomaticLinksHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
<AutomaticMeteoHome class="w-full sm:w-1/2 md:w-1/3 lg:w-1/4" />
</div>
</div>
</template>
@@ -12,12 +13,13 @@
<script>
import OpenWeatherCard from './Meteo/OpenWeatherCard'
import MemoHome from './Memo/MemoHome'
import DomoticHome from './Domotics/DomoticHome'
import AutomaticLinksHome from './Automation/AutomaticLinksHome'
import AutomaticMeteoHome from './Automation/AutomaticMeteoHome'
export default {
name: 'Home',
components: {
OpenWeatherCard, MemoHome, DomoticHome
OpenWeatherCard, MemoHome, AutomaticLinksHome, AutomaticMeteoHome
}
}
</script>

View File

@@ -30,6 +30,7 @@ Route::middleware('auth:api')->group(function () {
// '/friend-request' => 'FriendRequestController',
]);
Route::get('/automation/home', 'AutomationController@home');
Route::post('/images/users/{users}', 'ImageController@users');
Route::post('/images/memos/{memo}', 'ImageController@memos');
Route::patch('/to-do-lists/{toDoList}/to-do/{toDo}/change', 'ToDoController@changeOrder');