{"id":516,"date":"2025-10-20T09:39:29","date_gmt":"2025-10-20T13:39:29","guid":{"rendered":"https:\/\/scootercam.net\/notes\/?p=516"},"modified":"2025-10-21T18:18:04","modified_gmt":"2025-10-21T22:18:04","slug":"scootercam-current-conditions-plugin","status":"publish","type":"post","link":"https:\/\/scootercam.net\/blog\/scootercam-current-conditions-plugin\/","title":{"rendered":"Scootercam Current Conditions"},"content":{"rendered":"\n<p>A WordPress plugin that provides individual shortcodes for displaying real-time weather data from your Scootercam weather station. Each weather metric has its own shortcode for maximum flexibility in page design.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Features<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83c\udf21\ufe0f <strong>Temperature<\/strong> &#8211; Current temperature with customizable units<\/li>\n\n\n\n<li>\ud83d\udca7 <strong>Humidity<\/strong> &#8211; Relative humidity percentage<\/li>\n\n\n\n<li>\ud83e\udded <strong>Wind Direction<\/strong> &#8211; Cardinal direction (N, NE, E, SE, etc.)<\/li>\n\n\n\n<li>\ud83d\udca8 <strong>Wind Speed<\/strong> &#8211; Current wind speed in mph<\/li>\n\n\n\n<li>\ud83d\udd3d <strong>Barometric Pressure<\/strong> &#8211; Pressure reading with trend<\/li>\n\n\n\n<li>\ud83d\udcca <strong>Pressure Trend<\/strong> &#8211; Rising, Falling, or Steady<\/li>\n\n\n\n<li>\ud83c\udf2b\ufe0f <strong>Air Quality<\/strong> &#8211; AQI value and description<\/li>\n\n\n\n<li>\u2600\ufe0f <strong>UV Index<\/strong> &#8211; UV index value, description, and safety remarks<\/li>\n\n\n\n<li>\u2699\ufe0f <strong>Customizable UV Remarks<\/strong> &#8211; Admin panel for custom safety messages<\/li>\n\n\n\n<li>\ud83d\udcf1 <strong>Flexible Display<\/strong> &#8211; Use shortcodes anywhere in posts, pages, or widgets<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Create Plugin Directory<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/home\/rxaverco\/public_html\/wp-content\/plugins\/\nmkdir scootercam-conditions\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Upload Plugin File<\/h3>\n\n\n\n<p>Save the plugin file as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scootercam-conditions\/scootercam-conditions.php\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. Set Permissions<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 755 scootercam-conditions\nchmod 644 scootercam-conditions\/scootercam-conditions.php\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. Activate Plugin<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log into WordPress admin<\/li>\n\n\n\n<li>Navigate to <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n\n\n\n<li>Find &#8220;Scootercam Current Conditions&#8221;<\/li>\n\n\n\n<li>Click <strong>Activate<\/strong><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">5. Configure UV Remarks (Optional)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Settings \u2192 Current Conditions<\/strong><\/li>\n\n\n\n<li>Customize UV safety remarks for each level<\/li>\n\n\n\n<li>Click <strong>Save UV Remarks<\/strong><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Available Shortcodes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Temperature<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-temperature]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>72\u00b0F<\/code><\/p>\n\n\n\n<p><strong>Attributes:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>units=\"true\/false\"<\/code> &#8211; Show temperature unit (default: true)<\/li>\n\n\n\n<li><code>round=\"true\/false\"<\/code> &#8211; Round to whole number (default: true)<\/li>\n<\/ul>\n\n\n\n<p><strong>Examples:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-temperature]                    \u2192 72\u00b0F\n&#91;sc-temperature units=\"false\"]      \u2192 72\n&#91;sc-temperature round=\"false\"]      \u2192 72.3\u00b0F\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Humidity<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-humidity]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>65%<\/code><\/p>\n\n\n\n<p><strong>Attributes:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>units=\"true\/false\"<\/code> &#8211; Show percentage symbol (default: true)<\/li>\n\n\n\n<li><code>round=\"true\/false\"<\/code> &#8211; Round to whole number (default: true)<\/li>\n<\/ul>\n\n\n\n<p><strong>Examples:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-humidity]                       \u2192 65%\n&#91;sc-humidity units=\"false\"]         \u2192 65\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Wind Direction<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-wind-direction]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>NW<\/code><\/p>\n\n\n\n<p>Converts wind degrees to 16-point cardinal directions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N, NNE, NE, ENE, E, ESE, SE, SSE<\/li>\n\n\n\n<li>S, SSW, SW, WSW, W, WNW, NW, NNW<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Wind Speed<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-wind-speed]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>12 mph<\/code><\/p>\n\n\n\n<p><strong>Attributes:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>units=\"true\/false\"<\/code> &#8211; Show mph unit (default: true)<\/li>\n<\/ul>\n\n\n\n<p><strong>Examples:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-wind-speed]                     \u2192 12 mph\n&#91;sc-wind-speed units=\"false\"]       \u2192 12\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Barometric Pressure<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-pressure]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>29.92 inHg<\/code><\/p>\n\n\n\n<p><strong>Attributes:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>units=\"true\/false\"<\/code> &#8211; Show inHg unit (default: true)<\/li>\n<\/ul>\n\n\n\n<p><strong>Examples:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-pressure]                       \u2192 29.92 inHg\n&#91;sc-pressure units=\"false\"]         \u2192 29.92\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Pressure Trend<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-pressure-trend]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>Rising<\/code> | <code>Falling<\/code> | <code>Steady<\/code><\/p>\n\n\n\n<p>Automatically determines trend based on pressure change rate:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rising<\/strong>: Change > +0.05 inHg\/hr<\/li>\n\n\n\n<li><strong>Falling<\/strong>: Change &lt; -0.05 inHg\/hr<\/li>\n\n\n\n<li><strong>Steady<\/strong>: Between -0.05 and +0.05 inHg\/hr<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Air Quality Index<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-air-quality]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>45<\/code><\/p>\n\n\n\n<p>Returns the numeric AQI value.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Air Quality Description<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-air-quality-desc]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>Good<\/code> | <code>Moderate<\/code> | <code>Unhealthy for Sensitive Groups<\/code> | <code>Unhealthy<\/code> | <code>Very Unhealthy<\/code> | <code>Hazardous<\/code><\/p>\n\n\n\n<p>AQI Scale:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0-50<\/strong>: Good<\/li>\n\n\n\n<li><strong>51-100<\/strong>: Moderate<\/li>\n\n\n\n<li><strong>101-150<\/strong>: Unhealthy for Sensitive Groups<\/li>\n\n\n\n<li><strong>151-200<\/strong>: Unhealthy<\/li>\n\n\n\n<li><strong>201-300<\/strong>: Very Unhealthy<\/li>\n\n\n\n<li><strong>301+<\/strong>: Hazardous<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">UV Index<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-uv-index]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>6.5<\/code><\/p>\n\n\n\n<p>Returns the numeric UV index value (0-11+).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">UV Index Description<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-uv-desc]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> <code>Low<\/code> | <code>Moderate<\/code> | <code>High<\/code> | <code>Very High<\/code> | <code>Extreme<\/code><\/p>\n\n\n\n<p>UV Scale:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0-2<\/strong>: Low<\/li>\n\n\n\n<li><strong>3-5<\/strong>: Moderate<\/li>\n\n\n\n<li><strong>6-7<\/strong>: High<\/li>\n\n\n\n<li><strong>8-10<\/strong>: Very High<\/li>\n\n\n\n<li><strong>11+<\/strong>: Extreme<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">UV Index Remarks<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;sc-uv-remarks]\n<\/code><\/pre>\n\n\n\n<p><strong>Output:<\/strong> Displays customizable safety message based on current UV level<\/p>\n\n\n\n<p>Returns appropriate safety advice based on UV index. Remarks are customizable in <strong>Settings \u2192 Current Conditions<\/strong>.<\/p>\n\n\n\n<p><strong>Default Remarks:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Low (0-2)<\/strong>: &#8220;No protection required. You can safely stay outside.&#8221;<\/li>\n\n\n\n<li><strong>Moderate (3-5)<\/strong>: &#8220;Seek shade during midday hours. Slip on a shirt, slop on sunscreen and slap on hat.&#8221;<\/li>\n\n\n\n<li><strong>High (6-7)<\/strong>: &#8220;Protection required. Seek shade during midday hours, cover up, wear a hat and sunglasses, and apply sunscreen.&#8221;<\/li>\n\n\n\n<li><strong>Very High (8-10)<\/strong>: &#8220;Extra protection required. Avoid being outside during midday hours. Shirt, sunscreen and hat are essential.&#8221;<\/li>\n\n\n\n<li><strong>Extreme (11+)<\/strong>: &#8220;Stay inside during midday hours. If you must go out, seek shade and wear protective clothing, hat, sunglasses and sunscreen.&#8221;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Usage Examples<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Simple Weather Display<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Current Temperature: &#91;sc-temperature]\nHumidity: &#91;sc-humidity]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Complete Weather Summary<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\ud83c\udf21\ufe0f Temperature: &#91;sc-temperature]\n\ud83d\udca7 Humidity: &#91;sc-humidity]\n\ud83d\udca8 Wind: &#91;sc-wind-speed] from the &#91;sc-wind-direction]\n\ud83d\udd3d Pressure: &#91;sc-pressure] and &#91;sc-pressure-trend]\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">UV Index Report<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\u2600\ufe0f UV Index: &#91;sc-uv-index] - &#91;sc-uv-desc]<\/code><\/pre>\n\n\n<p>[sc-uv-remarks]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Air Quality Status<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\ud83c\udf2b\ufe0f Air Quality: &#91;sc-air-quality] (&#91;sc-air-quality-desc])\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Complete Conditions Panel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"weather-conditions\"&gt;\n    &lt;h3&gt;Current Conditions&lt;\/h3&gt;\n    \n    &lt;div class=\"condition-row\"&gt;\n        &lt;strong&gt;Temperature:&lt;\/strong&gt; &#91;sc-temperature]\n    &lt;\/div&gt;\n    \n    &lt;div class=\"condition-row\"&gt;\n        &lt;strong&gt;Humidity:&lt;\/strong&gt; &#91;sc-humidity]\n    &lt;\/div&gt;\n    \n    &lt;div class=\"condition-row\"&gt;\n        &lt;strong&gt;Wind:&lt;\/strong&gt; &#91;sc-wind-speed] from the &#91;sc-wind-direction]\n    &lt;\/div&gt;\n    \n    &lt;div class=\"condition-row\"&gt;\n        &lt;strong&gt;Pressure:&lt;\/strong&gt; &#91;sc-pressure] and &#91;sc-pressure-trend]\n    &lt;\/div&gt;\n    \n    &lt;div class=\"condition-row\"&gt;\n        &lt;strong&gt;UV Index:&lt;\/strong&gt; &#91;sc-uv-index] (&#91;sc-uv-desc])\n    &lt;\/div&gt;\n    \n    &lt;div class=\"uv-remarks\"&gt;<\/code><\/pre>\n\n\n<p>[sc-uv-remarks]<\/p>\n\n\n\n<p>&lt;\/div&gt; &lt;div class=&#8221;condition-row&#8221;&gt; &lt;strong&gt;Air Quality:&lt;\/strong&gt; [sc-air-quality] &#8211; [sc-air-quality-desc] &lt;\/div&gt; &lt;\/div&gt;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Using Without Units<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Temperature is &#91;sc-temperature units=\"false\"] degrees\nWind speed: &#91;sc-wind-speed units=\"false\"] mph\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Data Source<\/h2>\n\n\n\n<p>The plugin reads weather data from:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/scootercam\/public_html\/wx\/summary.json\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Expected JSON Structure<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"local\": {\n    \"beach\": {\n      \"temp_f\": 72.5,\n      \"humidity\": 65,\n      \"wind_dir\": 315,\n      \"wind_mph\": 12.3,\n      \"pressure_in\": 29.92,\n      \"pressure_trend\": 0.08,\n      \"uv_index\": 6.5\n    }\n  },\n  \"air_quality\": {\n    \"aqi\": 45\n  }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Admin Settings<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Access Settings Page<\/h3>\n\n\n\n<p>Navigate to <strong>Settings \u2192 Current Conditions<\/strong> in WordPress admin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>UV Remarks Editor<\/strong>: Customize safety messages for each UV level<\/li>\n\n\n\n<li><strong>Live Shortcode Examples<\/strong>: See current weather data in real-time<\/li>\n\n\n\n<li><strong>Shortcode Reference<\/strong>: Complete documentation with examples<\/li>\n\n\n\n<li><strong>Usage Guide<\/strong>: Quick copy-paste examples<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Customizing UV Remarks<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Settings \u2192 Current Conditions<\/strong><\/li>\n\n\n\n<li>Find the &#8220;UV Index Remarks&#8221; section<\/li>\n\n\n\n<li>Edit remarks for each level:\n<ul class=\"wp-block-list\">\n<li>Low (0-2)<\/li>\n\n\n\n<li>Moderate (3-5)<\/li>\n\n\n\n<li>High (6-7)<\/li>\n\n\n\n<li>Very High (8-10)<\/li>\n\n\n\n<li>Extreme (11+)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Save UV Remarks<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Remarks support plain text and basic HTML.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Shortcodes Show &#8220;N\/A&#8221;<\/h3>\n\n\n\n<p><strong>Cause:<\/strong> Weather data file not found or missing data points<\/p>\n\n\n\n<p><strong>Solutions:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Verify file exists: <code>\/home\/scootercam\/public_html\/wx\/summary.json<\/code><\/li>\n\n\n\n<li>Check file permissions (should be readable)<\/li>\n\n\n\n<li>Verify JSON structure matches expected format<\/li>\n\n\n\n<li>Check that specific data point exists in JSON<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Air Quality Shows &#8220;N\/A&#8221;<\/h3>\n\n\n\n<p>Air quality data is optional. If not available in your weather station data, this is normal. The shortcode will display &#8220;N\/A&#8221; when data is unavailable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wind Direction Shows Wrong Values<\/h3>\n\n\n\n<p>Ensure <code>wind_dir<\/code> in JSON is in degrees (0-360) format. The plugin automatically converts to cardinal directions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pressure Trend Not Updating<\/h3>\n\n\n\n<p>Verify <code>pressure_trend<\/code> value exists in JSON and represents the rate of change in inHg per hour.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Technical Details<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress 5.0 or higher<\/li>\n\n\n\n<li>PHP 7.4 or higher<\/li>\n\n\n\n<li>Read access to weather data file<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">File Structure<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>scootercam-conditions\/\n\u2514\u2500\u2500 scootercam-conditions.php    # Main plugin file\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Performance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Weather data is cached per page load<\/li>\n\n\n\n<li>Single file read per request<\/li>\n\n\n\n<li>Minimal database queries<\/li>\n\n\n\n<li>No external API calls<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Browser Compatibility<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All modern browsers supported<\/li>\n\n\n\n<li>No JavaScript required<\/li>\n\n\n\n<li>Pure server-side rendering<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Styling Shortcodes<\/h2>\n\n\n\n<p>Shortcodes output plain text by default. Add custom CSS to style them:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* Example styling *\/\n.weather-temperature {\n    font-size: 2em;\n    color: #ff6b6b;\n    font-weight: bold;\n}\n\n.uv-remarks {\n    background: #fff3cd;\n    border-left: 4px solid #ffc107;\n    padding: 12px;\n    margin: 10px 0;\n}\n\n.air-quality-good {\n    color: #28a745;\n}\n\n.air-quality-unhealthy {\n    color: #dc3545;\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Integration with Other Plugins<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Elementor<\/h3>\n\n\n\n<p>Shortcodes work in Elementor text widgets, shortcode widgets, and dynamic content.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg<\/h3>\n\n\n\n<p>Use the Shortcode block to add weather data to block editor pages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Page Builders<\/h3>\n\n\n\n<p>Compatible with all major page builders that support WordPress shortcodes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Changelog<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Version 1.0.0<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Initial release<\/li>\n\n\n\n<li>11 weather shortcodes<\/li>\n\n\n\n<li>Temperature, humidity, wind, pressure<\/li>\n\n\n\n<li>Air quality index support<\/li>\n\n\n\n<li>UV index with customizable remarks<\/li>\n\n\n\n<li>Admin settings page<\/li>\n\n\n\n<li>Real-time data from summary.json<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Future Enhancements<\/h2>\n\n\n\n<p>Potential features for future versions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Historical data trends<\/li>\n\n\n\n<li>Weather alerts integration<\/li>\n\n\n\n<li>Forecast data shortcodes<\/li>\n\n\n\n<li>Multiple location support<\/li>\n\n\n\n<li>Data caching options<\/li>\n\n\n\n<li>Widget support<\/li>\n\n\n\n<li>REST API endpoints<\/li>\n\n\n\n<li>Graph\/chart generation<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Support<\/h2>\n\n\n\n<p>For issues or questions:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Check weather data file exists and is readable<\/li>\n\n\n\n<li>Verify JSON format matches expected structure<\/li>\n\n\n\n<li>Test shortcodes in admin settings page<\/li>\n\n\n\n<li>Check WordPress error logs for PHP errors<\/li>\n<\/ol>\n\n\n\n<p>Enable WordPress debugging:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Add to wp-config.php\ndefine('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Credits<\/h2>\n\n\n\n<p><strong>Plugin Name:<\/strong> Scootercam Current Conditions<br><strong>Version:<\/strong> 1.0.0<br><strong>Author:<\/strong> Scootercam<br><strong>License:<\/strong> GPL v2 or later<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">License<\/h2>\n\n\n\n<p>This plugin is licensed under GPL v2 or later.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Made with \u26c5 for real-time Lake Michigan weather monitoring<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A WordPress plugin that provides individual shortcodes for displaying real-time weather data from your Scootercam weather station. Each weather metric has its own shortcode for maximum flexibility in page design. Features Installation 1. Create Plugin Directory 2. Upload Plugin File Save the plugin file as: 3. Set Permissions 4. Activate Plugin 5. Configure UV Remarks &#8230; <a title=\"Scootercam Current Conditions\" class=\"read-more\" href=\"https:\/\/scootercam.net\/blog\/scootercam-current-conditions-plugin\/\" aria-label=\"Read more about Scootercam Current Conditions\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[38],"tags":[],"class_list":["post-516","post","type-post","status-publish","format-standard","hentry","category-plugins"],"_links":{"self":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/comments?post=516"}],"version-history":[{"count":3,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/516\/revisions"}],"predecessor-version":[{"id":612,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/516\/revisions\/612"}],"wp:attachment":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/media?parent=516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/categories?post=516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/tags?post=516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}